C語言中使用快速排序演算法對元素排序的例項詳解

2022-10-03 09:36:13 字數 1336 閱讀 4369

呼叫c語言的快速排序演算法qsort();程式設計客棧

#include

#include

#include

#define size 100

//從小到大排序

int comp1(const void *x,const void *y)

//從大到小排序

int comp2(const void *x,const void *y)

void main()

printf("arr before qsort.\n");

for(i = 0; i < n; i++)

}qsort(arr,n,sizeof(int),comp1);

printf("\narr after qsort.\n");

for(i = 0; i < n; i++)

}qsort(arr,n,sizeof(int),comp2);

printf("\nrecover all.\n");

for(i = 0; i < n; i++)

}printf("\n");

}只帶兩個引數的快速排序:

編寫快速排序,函式qsort(),函式只帶兩個引數

#include

#include

#include

#define len 10

typedef int datatype;

//初始化陣列,陣列元素為小於100的整數

void intiarr(datatype a, int len);

//列印陣列元素

void print(datatype a, int len);

//帶兩個引數的快排

void qsort(datatype a, int len);

int main()

初始化陣列,陣列元素為小於100的整數

void intiarr(datatype a, int len)

}列印陣列元素

void print(datatype a,程式設計客棧 int len)

printf("\n");

}帶程式設計客棧兩個引數的快排

void qsort(datatype a, int len)

while(p < q)

*p = *q;

while((p < q) && (*p <= temp))

*q = *p;

} *p = temp;

qsort(a,p - a);

qsort(p + 1,len - (p - a) - 1);

}本文標題: c語言中使用快速排序演算法對元素排序的例項詳解

本文位址:

C語言中 使用方式

域寬 轉換字元 乙個轉換說明以 開始,以轉換字元結尾,域寬部分是可選的,每個轉換說明對應於乙個輸出引數,改引數被轉化換成有轉換說明規定的資料格式後輸出。注 如果 後面是非轉換字元,多數編譯系統將它作為普通字元輸出。域寬說明字元 意義 減號 在指定區域按左對齊方式輸出 沒有減號時為右對齊 加號 輸出正...

在Go語言中使用氣泡排序?

氣泡排序實現 go語言中陣列的定義 1.用var關鍵字定義,var arr 5 int,需要指定元素個數 2.用 定義,arr 3 int,需要賦初值 用 定義,由編譯器計算元素個數,arr int 氣泡排序 第1個元素和第2個元素比較,若a j a j 1 那麼交換位置 0.思想 n個元素,依次處...

C語言中使用結構體

1 先定義結構體 struct stu char name 20 long number float score 4 再定義指向結構體型別變數的指標變數 struct stu p1,p2 或者 struct stu p1,p2 定義指標變數p 1 p 2,分別指向結構體型別變數。2 在定義型別的同時...