排序算法
风下残月
这个作者很懒,什么都没留下…
展开
-
插入排序
插入排序: 内层循环完成局部排序;外层循环推进排序的进程 如: 外层:下标1 ; 下标2 ;累加。。。 内层:排序下标0,1; 排序下标0,1,2 ;累加。。。 void insertsort() { int arr[10] = {6,3,0,2,7,5,4,9,1,8}; int i; int j; for (i = 1;i < len;i++) { //外层循环:指定排序范围如;下标1 int tmp = arr[i]; //内层循环:排序外层循环指定的范围 下标0,下标1原创 2021-02-25 16:21:05 · 83 阅读 · 0 评论 -
选择排序
内层循环:找出本轮最小值对应的下标 外层循环:排序的轮数 //选择排序 void SeleteSort() { int arr[10] = {6,3,0,2,7,5,4,9,1,8}; int len = sizeof(arr)/4; int temp; int min; for (j = 0; j < len - 1; j++) { min = i;//指定小标min(i)为当前轮的最小下标 for (j = i + 1; j < len; j++) { if(arr[min]原创 2021-02-25 17:00:12 · 114 阅读 · 0 评论 -
冒泡排序
内层循环:经过两两比较,一步步将最大值移动到最后; 外循环层:经过n轮后,完成排序。 例如: //冒泡排序 void BubbleSort() { int arr[10] = {6,3,0,2,7,5,4,9,1,8}; int len = sizeof(arr)/4; int i, j, temp; int flags = 0; //外层控制循环的次数 for (j = 0; j < len - 1; j++) { //内层是比较的次数 for (i = 0; i <原创 2021-02-25 15:54:22 · 89 阅读 · 0 评论