自定义函数实现对一个有序数组进行插入操作,保证插入后的数组依然有序

题目:

自定义函数实现对一个有序数组进行插入操作,保证插入后的数组依然有序。主函数调用。
要求:
1)共自定义2个函数,分别对数组进行插入和输出。
2)数组、待插数据在主函数中定义和赋值。

代码实现如下:

#include<bits/stdc++.h>
using namespace std;
void print(int a[],int n) {//输出函数 
	for(int i=0; i<n ; i++) cout<<a[i]<<" ";
}
void insert_sort(int a[],int insert,int n) {//插入函数 
	int flag;
	if(insert>=a[n-1]) flag=n;
	else {
		for(int i=0; i<n; i++) {
			if(insert<a[i]) {
				flag=i;
				break;
			}
		}
	}
	n++;
	for(int i=n-1; i>=flag; i--) {
		a[i+1]=a[i];
	}
	a[flag]=insert;
	print(a,n);//调用输出函数 
}
int main() {
	int a[1000],n,insert;
	cin>>n;
	for(int i=0; i<n; i++) {
		cin>>a[i];
	}
	cin>>insert;
	insert_sort(a,insert,n);//调用插入函数 
	return 0;
}

版权声明:本文为xzy15703841578原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。