交换排序(冒泡排序、快速排序)
交换排序
- 交换排序
- 冒泡排序
- 概念
- 算法实现
- 快速排序
- 概念
- 算法实现
- 后续
所谓交换,是指根据序列中两个关键字的比较结果来对换这两个记录在排序中的位置。
冒泡排序 概念冒泡排序的基本思想是:从前往后(或从后往前)两两比较相邻元素的值,若为逆序(即A[I-1]>A[I]),则交换它们,直到序列比较完。我们称它为第一趟冒泡,结果是将最小的元素交换到待排序列的第一个位置(或将最大的元素交换到待排序列的最后一个位置),关键字最小的元素如气泡一样逐渐向上“漂浮”。最终一个一个排好了位置。
void Bubble_Sort(ElemType A[],int n)
{//冒泡排序
int i, j;
bool flag;
for (i = 0; i 0; j++)
{
if (A[i - 1] > A[i])
{
swap(A[i-1],A[i]);
flag = true;
}
}
if (flag == false)
return;
}
}
快速排序
概念
快速排序的基本思想是基于分治法的:在待排序表L【1.。。n】中任取一个元素pivot作为枢轴(通常取首元素),通过一趟排序将待排序表划分为独立的两部分,使其中一个表L【1.。。k-1】中的元素都大于枢轴pivot,另一个表L【k+1.。。。n】中的元素都小于枢轴pivot,则将枢轴pivot放在了其最终位置L【k】上,这个过程称为一趟快速排序(或一次划分)。然后分别递归地对两个子表重复上述过程。
void Quick_sort(ElemType A[], int low, int high)
{//快速排序
if (low
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?