#include#includeusing namespace std;
#define list_init_size 100
#define listincrement 10
#define elemtype int
typedef structsqlist;
//列印
void printl(sqlist &l);
//建順序表
void initlist_sq(sqlist &l)
//在第i位置插入元素e
void listinsert_sq(sqlist &l, int i, elemtype e)
int *p, *q;
q = &(l.elem[i - 1]);
for (p = &(l.elem[l.length - 1]); p >= q; --p) //將第i位置及其以後的元素後移乙個位置
*(p + 1) = *p;
*q = e;
++l.length;
}//快速排序(氣泡排序)
void qsort(sqlist &l, int low, int high)
if (firstif (low + 1}//列印
void printl(sqlist &l)
cout << endl;
}void main()
排序 快速排序,C 實現
本文 的github位址 基本思想 快速排序 是對 氣泡排序 的改進。基本原理 基於分治法,在待排線性表中取乙個元素pivot作為樞軸值,通過一趟排序將待排線性表劃分為獨立的兩部分,第一部分的所有元素小於pivot,第二部分的所有元素大於等於pivot,pivot位於其最終位置。遞迴對兩個子表做快速...
快速排序 c 實現
快速排序思想 基於分治策略,對氣泡排序的一種改進。對於要排序的乙個序列,從中選一值進行排序,將其放入到正確的位置position。然後以position為界,對左右兩部分再做排序。直到劃分的長度為1。步驟 設有一待排序的序列 1.分別設定low hight指向序列的最左端 最右端 從序列中選乙個進行...
快速排序(C 實現)
include using namespace std void swap int a,int b int sort int begin,int end if beginwhile beginif begin return begin void quicksort int begin,int end...