数据结构 — 排序算法(基础)
发布日期:2021-06-30 19:49:37 浏览次数:2 分类:技术文章

本文共 978 字,大约阅读时间需要 3 分钟。

1、直接插入排序

/*插入排序*/void insertion_sort (element arr[], int n) {	int i,j;	element next;	for(i = 1; i
=0 && next

2、希尔排序(插入)

void shell_sort(element arr[], int n) {	int i, j;	int dis = n/2;	while(dis >= 1) {		for(i = dis; i
=0; j = j-dis) { arr[j+dis] = arr[j]; } arr[j+dis] = next; } dis /= 2; }}

3、冒泡排序(交换)

void bubble_sort(element arr[], int n) {	int i, j;	for(i = 0; i
arr[j+1]) { arr[j] = arr[j] + arr[j+1] - (arr[j+1] = arr[j]); } } }}

4、快速排序(交换)

/*快速排序(交换)*/void quick_sork(element arr[] ,int left ,int right) {	int i, j;	element pivot, temp;		if(left < right) {	   //i控制最左边,j控制最右边		i = left;		j = right;		//最左边的元素为参考点		pivot = arr[left];		/*			1.从左边找到第一个大于pivot的元素			2.从右边找到第一个小于pivot的元素			3.如果i
pivot); if(i
5、选择排序

/*选择排序*/void select_sort(element arr[], int n) {	int i, j;	int min;	for(i = 0; i
arr[j]) { min = j; } } //从所有序列中先找到最小的,然后放到第一个位置 arr[i] = arr[i] + arr[min] - (arr[min] = arr[i]); }}

转载地址:https://lipenglin.blog.csdn.net/article/details/50282717 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:数据结构 — 归并排序
下一篇:关于 自减运算符 (i--/--j)在 循环(for与while)中的执行过程

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月24日 12时27分46秒