数据结构:排序算法之堆排序和选择排序
生活随笔
收集整理的這篇文章主要介紹了
数据结构:排序算法之堆排序和选择排序
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1、堆排序
void HeapAdjust(int array[], int root, int size) {int parent = root;int child = root*2 + 1;while(child < size){ //還剩三個(gè)數(shù)據(jù)時(shí):1(0), 2(1), 3(2)左右孩子需要調(diào)整,此時(shí):child+1 == childif(child+1 <= size && array[child] < array[child + 1]){child += 1;}if(array[parent] < array[child]){std::swap(array[parent], array[child]);parent = child;child = child*2 + 1;}elsebreak;}}void HeapSort(int array[], int size) {for(int idx = (size-2)/2; idx >= 0; --idx){HeapAdjust(array, idx, size);}int index = size-1;while(index > 0){std::swap(array[0], array[index]);index--;HeapAdjust(array, 0, index);} }2、選擇排序
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)
總結(jié)
以上是生活随笔為你收集整理的数据结构:排序算法之堆排序和选择排序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C语言中#define的用法(转)
- 下一篇: Burp Suite使用介绍说明