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

题目:

自定义函数实现对一个有序数组进行插入操作,保证插入后的数组依然有序。主函数调用。
要求:
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;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值