c语言选择排序函数法 c语言选择排序法代码( 三 )


int i = 0;
printf("排序之前的结果\n");
for(i = 0;i5;i++)
printf("|%d|",TestData[i]);
int retData = https://www.04ip.com/post/SelectSort(TestData,5);
printf("排序之后的结果:\n");
for(i = 0;i5;i++)
printf("|%d|",TestData[i]);
return 0;
}
4、简单选择排序中,需要移动的记录次数比较少,主要的时间消耗在对于数据的比较次数 。基本上 , 在比较的时候,消耗的时间复杂度为:n*n 。
C语言中的选择排序法是什么?选择排序(Selection sort)是一种简单直观的排序算法 。工作原理是每一次从待排序的数据元素中选出最?。ɑ蜃畲螅┑囊桓鲈兀?存放在序列的起始位置,直到全部待排序的数据元素排完 。
以下是一个实现选择排序的例子:
#define SWAP(x, y, t)((t) = (x), (x) = (y), (y) = (t))
//将list中的n个数据,通过选择排序算法排序 。
void selete_sort(int list[], int n)
{
int i, j, min, temp;
for (i = 0; in - 1; i++){
min = i;
for (j = i + 1; jn; j++)//找出最小元素的下标 。
if (list[j]list[min])
min = j;
SWAP(list[i], list[min], temp);//交换最小元素到当前起始位置 。
}
}
C语言选择排序法这是选择排序 。先用a[0]与a[1]比较 , 当a[0]a[1]时并不交换,而用k记下来现在a[0]最小……这样一趟比较完后a[k]就是整个数组中最小的元素,把它与a[0]交换;第二趟,从a[1]开始重复前面的操作,那么最后a[1]就是剩下的n-1个元素中最小的……看a[0]、a[1]已经由小到大排好了,当做完n-1趟时不就把整个数组都排好了吗?注意:t=array[k];array[k]=array[i];array[i]=t;不是for(j=i+1;jn;j++)的循环体,要等它循环完了后才执行一次 。
【c语言选择排序函数法 c语言选择排序法代码】关于c语言选择排序函数法和c语言选择排序法代码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

推荐阅读