用直接排序法将数据9、7、8、1、5、3从小到大排序
发布网友
发布时间:2022-05-11 09:57
我来回答
共2个回答
热心网友
时间:2022-05-22 18:58
首先定义数组 a[6] 用来存放{9,7,8,1,5,3}
具体过程:
将a数组的第1个分别与第2,3,4,5,6个比较 如果a[1]大于某一个就和它交换数值
这样一轮下来a[1]储存的值就是数组中的最小值,而且原来a[1]的值被保存在了其他数组元素中 整个数组集合元素不变
同理 再将a[2],a[3],a[4],a[5]进行以上步骤 当然已确定过了那些较小值可以不用再比了 例如对a[2]进行上述操作时就不用再和a[1]比较了 因为a[1]已经是最小的了
而且对a[5]进行操作后,最后的a[6]也不用比了 它已经被换成最大值了
上述就是对以上数据的简单排序算法
对应c语言代码如下:
#include <stdio.h>
main()
{
int a[6]={9,7,8,1,5,3},i,j,t;
for (i=0;i<5;i++)
for (j=i+1;j<6;j++)
if (a[i]>a[j]) {t=a[i];a[i]=a[j];a[j]=t;}
for (i=0;i<6;i++) printf("%d ",a[i]);
}
上述是最基本的排序方法 淡然还有冒泡法 二分法 希尔法 归并法等等。。。
热心网友
时间:2022-05-22 20:16
9大于后面任意一个数 所以排最后
7小于后面除了8的任意一个数 所以排倒数第三
...
...
...
135789