(C语言程序)输入10个数,选择排序的方法,由小到大排序。
收起
知与谁同
2018-07-22 18:54:41
1998
0
2
条回答
写回答
取消
提交回答
-
没啥好说的。
2019-07-17 22:50:48
-
#include <stdio.h>
void selectSort(int array[], int n)
{
int i, j, d;
int temp;
for(i = 0; i < n - 1; ++i)
{
d = i; //开始一趟选择排序,假定第i个元素是后面n - i + 1个未排序的元素中最小的元素
for(j = i + 1; j < n; ++j)
if(array[j] < array[d]) //如果发现比当前最小元素还小的元素,则更新记录最小元素的下标d
d = j;
if(d != i) //如果最小元素的下标不是后面n - i + 1的未排序序列的第一个元素,则需要交换第i个元素和后面找到的最小元素的位置
{
temp = array[d];
array[d] = array[i];
array[i] = temp;
}
}
}
int main()
{
int i=0,array[10];
for(i = 0;i<10;i++)
{
scanf("%d",&array[i]);
}
int size = sizeof(array)/sizeof(int);
selectSort(array, size);
for(i = 0; i < size; ++i)
{
printf("%d ", array[i]);
}
printf("\n");
}
2019-07-17 22:50:48