#include <iostream>
#define N 100 //预定义数组长度
using namespace std;
typedef int DataType;//用DataType指代类型int,方便下面的交换,排序函数重用
//要对其它类型数据作排序时,只需要改变这个指代类型就行了
void Swap(DataType &a, DataType &b){//交换两个变量值
DataType t=a;
a=b;
b=t;
}
void SelectSort(DataType r[] , int length)
/*对记录数组r做简单选择排序,length为待排序记录的个数*/
{
int i,j,k;
for (i=0 ; i< length-1 ; ++i){ //n-1趟排序
k=i;
for (j=i+1;j < length;++j)
if (r[j] < r[k] )
k=j;
if ( k!=i){//若无序区最小元素不是(无序区)第一个元素,进行交换
Swap(r[i],r[k]);
}
}
}
void Insert(DataType r[],DataType data,int length)
/*在原实际长度为length的数组上插入一个数据data*/
{
r[length]=data;
SelectSort(r,length+1);
}
int main()
{
DataType arr[N];
DataType t,k=0;
while(cin>>t &&k!=10){ //输入10个整数
// if(t==0)break; //调试用
arr[k++]=t;
}
SelectSort(arr,k);//排序
for(DataType i=0;i!=k;++i)//输出排序结果
cout<<arr[i]<<" ";
cout<<endl;
cin>>t;//输入新数据
Insert(arr,t,k);//插入
for(DataType i=0;i!=k+1;++i)//输出结果
cout<<arr[i]<<" ";
cout<<endl;
return 0;
}
温馨提示:答案为网友推荐,仅供参考