//选择排序法 //time :2017.3.8 //author :justing_zhang /****************************************************************************************/ #include <stdio.h> void println(int array[], int len) { int i = 0; for(i=0; i<len; i++) { printf("%d ", array[i]); } printf("\n"); } //交换两个数组变量 void swap(int array[], int i, int j) { int temp = array[i]; //需要中介变量 array[i] = array[j]; array[j] = temp; } /************选择排序 算法具体实现*********************/ void SelectionSort(int array[], int len) { int i = 0; int j = 0; int k = -1; for(i=0; i<len; i++) { k = i; //定义一个游标 for(j=i; j<len; j++) //通过 if( array[j] < array[k] ) //一次循环可以找到最小的元素, { k = j; } } swap(array, i, k); //找到后与第一元素调换,第二次与[2]调换 } } int main() { int array[] = {21, 25, 49, 25, 16, 8}; int len = sizeof(array) / sizeof(*array); //元素长度等与所有元素占用的空间除以每个元素的长度. println(array, len); SelectionSort(array, len);//array指向数组的首位之 println(array, len); return 0; }
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。