作业帮 > 综合 > 作业

c语言的排序算法 一个数组中的数据排序 但是要求排完序之后 新的顺序用原来的那种标号来表示

来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/07/04 20:44:35
c语言的排序算法 一个数组中的数据排序 但是要求排完序之后 新的顺序用原来的那种标号来表示
比如 a[0]=2,a[1]=1,a[2]=0.从小到大排序后的顺序是 a[2] a[1] a[0].
c语言的排序算法 一个数组中的数据排序 但是要求排完序之后 新的顺序用原来的那种标号来表示
#include
#include
#include
#define size 10
struct temp{
int number;
int index;
};
int main()
{
int s[size];
//通过随机数得到数组的初始值
srand(time(NULL));
struct temp tmp[size];
for (int i=0;i < size; i++) {
s[i] = rand() % 100;
tmp[i].number = s[i];
tmp[i].index = i;
}
printf("输入的数组是:\n");
for ( i=0;i s[i+1])
{
int t=s[i];
s[i]=s[i+1];
s[i+1]=t;
temp tt = tmp[i];
tmp[i] = tmp[i+1];
tmp[i+1] = tt;
}
}
printf("\n数组排序后\n");
for ( i=0;i < size;i++)
printf(" %d ",s[i]);
printf("\n排序后的数组下标值:\n");
for ( i=0;i < size;i++)
printf(" %d ",tmp[i].index);
return 0;
}