1. 程式人生 > 其它 >實驗8.2 快速排序

實驗8.2 快速排序

技術標籤:資料結構實驗快速排序c語言演算法排序演算法

文章目錄

標頭檔案

#include<iostream>
#include<stdio.h>
#define MAX  8 

快速排序

int QuickSort(int a[], int l, int r)
{
	int pivot; //樞軸
	int i = l;
	int j = r;
	int temp;
	pivot = a[(l + j) / 2]; //取陣列中間的數作為樞軸
	do
	{
		while (a[i] < pivot)
			i++; //i右移
while (a[j] > pivot) j--; //j右移 if (i <= j) { temp = a[i];; a[i] = a[j]; a[j] = temp; i++; j--; } } while (i <= j); if (l < j) QuickSort(a, l, j); if (i < r) QuickSort(a, i, r); return i; }

主函式

int main()
{
	int array[MAX];
	int i;
	printf("\n請輸入%d個整數"
, MAX); for (i = 0;i < MAX;i++) scanf("%d",&array[i]); QuickSort(array, 0, MAX - 1); printf("\n快速排序之後的陣列為:"); for (i = 0;i < MAX;i++) printf("%d\t", array[i]); printf("\n"); }

執行結果

在這裡插入圖片描述