前言:
而今咱们对“各种排序算法的比较与移动次数有关吗”都比较着重,朋友们都想要了解一些“各种排序算法的比较与移动次数有关吗”的相关文章。那么小编在网摘上收集了一些有关“各种排序算法的比较与移动次数有关吗””的相关文章,希望看官们能喜欢,看官们一起来了解一下吧!// 选择排序的方法static void SelectionSort(int[] arr){ // 获取数组的长度 int len = arr.Length; // 外层循环控制排序的趟数,每趟都会找出一个最小或最大的元素 for (int i = 0; i < len - 1; i++) { // 记录当前最小或最大元素的索引 int minIndex = i; // 内层循环控制比较的次数,每次都会寻找剩余元素中的最小或最大元素 for (int j = i + 1; j < len; j++) { // 如果找到比当前最小或最大元素更小或更大的元素,就更新最小或最大元素的索引 // 升序用小于,降序用大于 if (arr[j] < arr[minIndex]) { minIndex = j; } } // 如果最小或最大元素不是待排序数组的第一个元素,就交换它们的位置 if (minIndex != i) { int temp = arr[i]; arr[i] = arr[minIndex]; arr[minIndex] = temp; } PrintArray(arr); }}static void PrintArray(int[] arr){ foreach(var item in arr){ Console.Write(item+" "); } Console.WriteLine();}// 测试代码int[] arr = {72, 54, 59, 30, 31, 78, 2, 77, 82, 72};// 调用选择排序方法,按照升序排序SelectionSort(arr);
最多有n-1次数据交换,时间复杂度O(n^2)
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #各种排序算法的比较与移动次数有关吗 #有什么排序算法 #选择排序计算公式 #选择排序计算公式怎么用