堆排序算法的实现 (冒泡排序)
生活随笔
收集整理的這篇文章主要介紹了
堆排序算法的实现 (冒泡排序)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
方法一:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace ConsoleApplication3 {class Program{static void Main(string[] args){List<int> seqlist = new List<int> { 42, 20,17, 27,13,8,17,48};HeadOrder(seqlist, 0, seqlist.Count - 1);}public void BubbleSort(List<int> sqList){}public static void CreadHeap(List<int> seqList, int low, int high){ int k;int j=0;int temp = 0;for (int i = high / 2; i >= low; i--){k = i;temp = seqList[i];j = 2 * k + 1; while (j <= high){ if (j < high && j + 1 <= high && seqList[j] < seqList[j + 1]){j++;}if (temp < seqList[j]){seqList[k] = seqList[j]; k = j;j = 2 * k + 1;}else{j = high + 1;}}seqList[k] = temp;}}public static void HeadOrder(List<int> seqlist, int low, int high){if (high <= low){return;}int temp = 0;CreadHeap(seqlist, 0, high);for (int i = seqlist.Count - 1; i > low; i--){temp = seqlist[0];seqlist[0] = seqlist[i];seqlist[i] = temp;CreadHeap(seqlist, 0, i-1); }}} }?方法二:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace ConsoleApplication3 {class Program{static void Main(string[] args){List<int> seqlist = new List<int> { 42, 20,17, 27,13,8,17,48};HeadOrder(seqlist, 0, seqlist.Count - 1);}public void BubbleSort(List<int> sqList){int tmp = 0;for (int i = 0; i < sqList.Count -1; ++i){for (int j = i +1; j<sqList.Count; j++){if (sqList[i] < sqList[j]){tmp = sqList[i];sqList[i] = sqList[j];sqList[j] = tmp;}}}}public static void CreadHeap(List<int> seqList, int low, int high){int k;int j = 0;int temp = 0;for (int i = high / 2; i >= low; i--){k = i;j = 2 * k + 1;while (j <= high){temp = seqList[k];if (j < high&& j + 1 <= high&& seqList[j] < seqList[j + 1]){j++;}if (temp < seqList[j]){seqList[k] = seqList[j];seqList[j] = temp;k = j;j = 2 * k + 1;}else{j = high + 1;}}}}public static void HeadOrder(List<int> seqlist, int low, int high){if (high <= low){return;}int i = low;int temp = 0;CreadHeap(seqlist, 0, high);temp = seqlist[0];seqlist[0] = seqlist[high];seqlist[high] = temp;HeadOrder(seqlist, i, high - 1);}} }?
?
轉(zhuǎn)載于:https://www.cnblogs.com/Jessy/p/3469246.html
總結(jié)
以上是生活随笔為你收集整理的堆排序算法的实现 (冒泡排序)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS UIViewContentMod
- 下一篇: [leetcode]347. Top K