在线等C++无序数组排序

来源:百度知道 编辑:UC知道 时间:2024/06/19 04:03:32
已知数组S[100]无序,选用任一算法将S[100]排序,要完整正确的程序

#include "stdio.h"

void main()
{
int a[100];
int i,j,temp;

for( i=0; i<100; i++ )//随便无序输入
{
scanf("%d", &a[i] );
}

for( i=0; i<100; i++ )
{
for( j=i+1; j<100; j++ )
{
if( a[i] > a[j] ) //从小到大排序
{ temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}

for( i=0; i<100; i++ )//有序输出
{
printf("%d ", a[i] );
}

}

可以利用C++中自带的qsort()函数来对数组排序完整代码如下:
#include<iostream>
using namespace std;
int cmp(const void *a,const void *b)
{
return *(int*)a-*(int*)b;//如果是降序的话,把此处的a和b交换顺序即可
}
int main()
{
int s[100],i;
for(i=0;i<100;i++)
cin>>s[i];
qsort(s,100,sizeof(int),cmp);
for(i=0;i<100;i++)
cout<<s[i]<<" ";
cout<<endl;
return 0;
}