排序(二)【数据结构】

发布时间:2026/5/28 20:36:28

排序(二)【数据结构】 简单选择排序选择排序 不稳定核心思想每一趟找到待排序序列中最小的值以及找到待排序序列的第一个值进行交换即 每一趟就是找到待排序序列中的最小值通过交换的方式放到第一个位置上特别注意代码实现中本质是要找到他们的位置时间、空间复杂度时间复杂度O(n^2)空间复杂度O(1)代码实现//选择排序voidSelect_Sort(intarr[],intlen){for(inti0;ilen-1;i){intminIndexi;for(intji;jlen;j){if(arr[j]arr[minIndex])minIndexj;}inttmparr[i];arr[i]arr[minIndex];arr[minIndex]tmp;}}冒泡排序核心思想每一趟从前向后两两比较递增如果左边大于右边则交换反之不交换当这一趟跑完之后相当于最大值就被搬运到最后一个位置了改进如何在一趟两两比较完成后就立刻得知其是否已经完全有序放一个flag0若某一趟未交换则标记为1.代码实现//冒泡排序voidBubble_Sort(intarr[],intlen){for(inti0;ilen-1;i){intflag0;for(intj0;jlen-i-1;j){if(arr[j]arr[j1]){inttmparr[j];arr[j]arr[j1];arr[j1]tmp;flag1;}}if(flag0)break;}}

相关新闻