郝斌_数据结构_快速排序源代码

news/2024/5/19 22:49:48 标签: 快速排序, 数据结构, 算法

郝斌《数据结构》课程源代码

快速排序的实现

用者自取,自由分享

/*
 * 时间:2021.01.25
 * 内容:快速排序
 */

#include <stdio.h>

void QuickSort(int * , int , int );
int FindPos(int * , int , int );

int main(void)
{
	int a[6] = {2, 1, 0, 5, 4, 3};
	int i;

	QuickSort(a, 0, 5);	//第二个参数表示第一个元素的下标,第三个元素表示最后一个元素的下标
	
	for(i = 0; i < 6; ++i)
	{
		printf("%d ", a[i]);
	}
	printf("\n");

	return 0;
}

void QuickSort(int * a, int low, int high)
{
	int pos;

	if(low < high)
	{
		pos = FindPos(a, low, high);
		Quick(a, low, pos-1);
		Quick(a, pos+1, high);
	}

	return ;
}

int FindPos(int * a, int low, int high)
{
	int val = a[low];

	while(low < high)
	{
		while(low < high && a[high] >= val)
		{
			--high;
		}
		a[low] = a[high];

		while(low < high && a[low] <= val)
		{
			++low;
		}
		a[high] = a[low];
	}//终止while循环之后low和high一定是相等的

	a[low] = val;	

	return  low;	
}

http://www.niftyadmin.cn/n/1515404.html

相关文章

Windows 11 显示文件扩展名

环境&#xff1a; Windows 11 文件的扩展名默认是隐藏状态 点击菜单栏 查看 2. 在下拉菜单中&#xff0c;点击 显示&#xff0c;再点击 文件扩展名 3. 文件的扩展名呈显示状态&#xff0c;如下图所示

C++_常量定义

文章目录C中常量定义基本知识#define宏常量const修饰的变量测试源代码C中常量定义 基本知识 #define宏常量const修饰 #define宏常量 语法#define 常量名 常量值位置文件上方 const修饰的变量 语法const 数据类型 变量名 常量值位置文件中 测试源代码 /* 时间&#xff1a…

C++_数据的输入与输出

文章目录C中数据的输入与输出基本知识cin关键字cout关键字测试源代码C中数据的输入与输出 基本知识 cin关键字cout关键字 cin关键字 语法&#xff1a; cin >> 变量; cout关键字 语法&#xff1a; cout << “文本内容” << 变量1 << 变量2 <&l…

fixture ‘XXX‘ not found

当运行 python 代码时&#xff0c;出现了错误&#xff1a; E fixture XXX not found > available fixtures: cache, capfd, capfdbinary, caplog, capsys, capsysbinary, doctest_namespace, monkeypatch, pytestconfig, record_property, record_testsuite_pr…

C++_常用转义字符

文章目录C常用转义字符基础知识测试源代码C常用转义字符 基础知识 \n换行\t水平制表 光标跳到下一个TAB位置\\表示一个反斜杠\ 测试源代码 /* 时间&#xff1a;2021.02.10 内容&#xff1a;C中常见转义字符的使用 *//* \n 换行 \t 水平制表 跳到下一个TAB位置 \\ 表示一个反…

C++_sizeof关键字

文章目录C中sizeof关键字基础知识测试源代码C中sizeof关键字 基础知识 语法 sizeof (数据类型 或 变量) 测试源代码 /* 时间&#xff1a;2021.02.10 内容&#xff1a;sizeof关键字的用法 *//* 语法&#xff1a;sizeof (数据类型 / 变量) */#include <iostream> using…

C++_字符串

文章目录C定义字符串基础知识C语言风格C风格测试源代码C定义字符串 基础知识 C语言风格 语法&#xff1a;char 变量名[] “字符串值”; C风格 语法&#xff1a;string 变量名 “字符串值”; 测试源代码 /* 时间&#xff1a;2021.02.10 内容&#xff1a;C字符串型 *//*…

C++_三目运算符

文章目录C中三目运算符的使用基础知识测试源代码C中三目运算符的使用 基础知识 语法&#xff1a; 表达式1 &#xff1f;表达式2 &#xff1a;表达式3; 如果表达式1的值为真&#xff0c;执行表达式2&#xff0c;并返回表达式2的结果 如果表达式1的值为真&#xff0c;执行表达式…