⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 12-6.c

📁 数据结构经典算法一书源代码和习题解答实现代码。
💻 C
字号:
#include "stdio.h"
typedef int DataType;
void Swap(DataType *a,DataType *b)
{
	DataType *t=a;
	*a=*b;
	*b=*t;
}
void quickSort(DataType a[], int l, int r)
{// 排序a [ l : r ], a[r+1] 有大值
	int i = l, // 从左至右的游标
	j = r + 1; // 从右到左的游标
	DataType pivot = a[l];
	if (l >= r) 
		return;
	// 把左侧>= pivot的元素与右侧<= pivot 的元素进行交换
	while (1) {
		do {// 在左侧寻找>= pivot 的元素
			i=i+1;
		} while (a[i] < pivot);
		do {// 在右侧寻找<= pivot 的元素
			j = j - 1;
		} while (a[j] > pivot);
		if (i >= j) 
			break; // 未发现交换对象
		Swap(&a[i],&a[j]);
	}
	// 设置p i v o t
	a[l] = a[j];
	a[j] = pivot;
	quickSort(a, l, j-1); // 对左段排序
	quickSort(a, j+1, r); // 对右段排序
}
void QuickSort(DataType*a, int n)
{// 对a[0:n-1] 进行快速排序
	quickSort(a, 0, n-1);
}
void main()
{
	DataType a[10];
	//初始化a[10];
	QuickSort(a,10);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -