实验内容
实现插入排序方法,输入10个整数,按升序排序输出。编写一个插入排序函数InsertSort,三个参数:第一参数是含有n个元素的数组,这n个元素已升序排序;第二个参数是当前数组的元素个数;第三个参数是要插入的整数。
该函数功能实现一个整数插入到数组中,然后进行升序排序。
Print函数输出数组,一行5个元素
代码段
#include <iostream>
using namespace std;
void InsertSort(int data[], int & n, int a)
{
int i;
for(i=0; i<n; i++)
if(a<=data[i]) break;
if(i==n) data[n] = a;
else {
for(int j=n; j>i; j--)
data[j] = data[j-1];
data[i] = a;
}
n++;
}
void Print(int data[], int n) {
int i;
for(i=0;i<n;i++) {
cout<<data[i]<<"\t";
if((i+1)%5 == 0) cout<<endl;
}
cout<<endl;
}
int main()
{
int data[10], n = 0, m;
for(int i=0; i<10; i++) {
cout<<"请输入第"<<i+1<<"个整数:";
cin>>m;
InsertSort(data, n, m);
}
Print(data, n);
return 0;
}