填空题
以下程序的功能是:采用插入排序的方法将数组s1中的元素升序排序,并删除重复的元素(值相同的元素只保存一个)。函数insert(int p[],int c,int x)将整数x插入到已排序的数组P中(并仍保持升序),参数c为数组P的元素个数。函数sort(int s[],int n)将数组s中的数据按升序排序。先将s[0]放到临时数组tern[0]中,然后,依次从s中取一个元素,若该元素不在数组tem中,则调用函数insert1将该元素插入到数组tern中。最后将数组tem拷贝到数组s中。
[程序](4分)
#include
void insert(int p[],int c,int x)
{ for(int i=0;i
if(p[i]>x)break;
if(i==c) 2(19) 3;
else{for(int J=c;j>i;j--)p[j]=P[j-1]; 4(20) 5;}
}
int sort(int s[],int n)
{int tem[200];
int len,j,k;
tem[O]=s[O];
len=1: //len记录数组tern中的元素个数
for(j=1;j
for(k=0;k
if(s[j]==tem[k]) 6(21) 7;
}
if(k>=len){
insert( 8(22) 9);len=len+1;
}
}
for(j=0;j
retum len; //返回数组的大小
}
void main(void)
{int s1[200]={34,22,11,55,66,30,22,100,66};
int n;n=sort(s1,9);
for(int i=0;i
cout<<'/n';
}