找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1517|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

C語(yǔ)言輸出快速排序遞歸算法隱含遞歸樹(shù)的后序遍歷序列程序和示意圖

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主

  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include<stdio.h>

  3. void QSort(int L[100], int low, int high);
  4. int Partition(int L[100], int low, int high);

  5. int main()
  6. {
  7.         int n;
  8.         int i;
  9.         int L[100] = { 0 };
  10.         scanf("%d", &n);
  11.         for (i = 1; i <= n; i++)
  12.                 scanf("%d", &L[i]);
  13.         QSort(L, 1, n);
  14.         return 0;
  15. }

  16. void QSort(int L[100], int low, int high)
  17. {
  18.     //排序的時(shí)候可以是小于,因?yàn)樽詈笠粋(gè)數(shù)不用再處理,但是要輸出,
  19.     //故盡管不處理,也一定要進(jìn)入if條件判斷,來(lái)打印這個(gè)值,也就是一定要low <= high
  20.         if (low <= high)
  21.         {
  22.     //這里的理解和二叉樹(shù)的遍歷思路是一樣的,也就是先打印左邊的樞軸量,
  23.     //再打印右邊的樞軸量,最后打印根的值
  24.                 int pivotloc = Partition(L, low, high);
  25.                 QSort(L, low, pivotloc - 1);//可以理解為打印左邊的樞軸量
  26.                 QSort(L, pivotloc + 1, high);//打印右邊的值
  27.                 printf("%d ", L[pivotloc]);//打印根的值
  28.         }
  29. }

  30. int Partition(int L[100], int low, int high)
  31. {
  32.         L[0] = L[low];
  33.         int pivotkey = L[low];
  34.         while (low < high)
  35.         {
  36.                 while (low < high && L[high] >= pivotkey)
  37.                         high--;
  38.                 L[low] = L[high];
  39.                 while (low < high && L[low] <= pivotkey)
  40.                         low++;
  41.                 L[high] = L[low];
  42.         }
  43.         L[low] = L[0];
  44.         return low;
  45. }
復(fù)制代碼

vc++代碼工程: 輸出快速排序遞歸算法隱含遞歸樹(shù)的后序遍歷序列.7z (1.84 MB, 下載次數(shù): 4)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏3 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表