給定一組資料,使用堆排序完成資料的降序排序。(建小頂堆)。資料個數n,n個整數資料
初始建立的小頂堆序列
每趟交換、篩選後的資料序列,輸出格式見樣例
8 34 23 677 2 1 453 3 7
8 1 2 3 7 23 453 677 34
8 2 7 3 34 23 453 677 1
8 3 7 453 34 23 677 2 1
8 7 23 453 34 677 3 2 1
8 23 34 453 677 7 3 2 1
8 34 677 453 23 7 3 2 1
8 453 677 34 23 7 3 2 1
8 677 453 34 23 7 3 2 1
#include#include#include#includeusing namespace std;
void changpos(int *array, int left, int right, int pos, int n)
break;
}else if(left> n&&right> n)
break;
else
else if(array[pos]> array[right]&&array[pos]<= array[left])
else if(array[pos]> array[right]&&array[pos]> array[left])
int temp= array[pos];
array[pos]= min;
array[po]= temp;
pos= po;
left= pos* 2;
right= pos* 2+ 1;
}else
break;}}
}int main()
print(array, n);
int end= n;
while(end> 1)
return 0;
}
DS內排 直插排序
題目問題 e ds內排 直插排序 時間限制 1 sec 記憶體限制 128 mb 提交 208 解決 185 提交 狀態 討論版 題目描述 給定一組資料,使用直插排序完成資料的公升序排序。程式要求 若使用c 只能include乙個標頭檔案iostream 若使用c語言只能include乙個標頭檔案s...
DS內排 直插排序
題目描述給定一組資料,使用直插排序完成資料的公升序排序。程式要求 若使用c 只能include乙個標頭檔案iostream 若使用c語言只能include乙個標頭檔案stdio 程式中若include多過乙個標頭檔案,不看 作0分處理 不允許使用第三方物件或函式實現本題的要求 輸入 資料個數n,n個...
快排 堆排序
快速排序主要運用了二分的思想,每次選擇乙個基準元素,比基準元素打的元素都放在基準元素前面,比基準元素小的元素都放在基準元素後面,這樣不斷遞迴細分,完成排序。void quicksort int a,int l,int r if ia i a j i while ia i temp if ia j a...