数据结构和算法——交换排序

本文介绍了内排序和外排序的概念,重点讲解了交换排序中的冒泡排序和快速排序。冒泡排序通过不断交换相邻反序元素实现排序,而快速排序则采用分治策略,通过一次划分操作确定基准元素的位置,使得一部分元素小于基准,另一部分大于基准,再对这两部分分别进行排序。
摘要由CSDN通过智能技术生成

一、内排序和外排序

根据待排序的内容是否在内存中可将排序分为内排序和外排序,内排序的整个排序过程在内存在进行,而外排序由于排序的内容太多,内存无法容纳,需要借助外存,即其排序过程在内、外存之间交换数据才能进行。

二、交换排序

(一)冒泡排序

冒泡排序通过两两比较相邻元素,如果反序(a[j]>a[j+1]),即大的在前面小的在后面时则交换,小的元素被交换至前面,一直到没有反序的情况为止,之所以叫做冒泡排序是因为在排序过程中,越小的元素会经过交换像一个个气泡一样浮到水面,即最小的元素会到数列的最前面,而最大的元素将会沉到数列的最底端。
程序代码如下:

#include<stdio.h>
//冒泡排序函数
void BubbleSort(int arr[],int length)
{
   
	int i, j, n, temp;
	for (i = 0; i < length; i++)
	{
   
		for (j = 0; j < length - i - 1; j++)
		{
   
			if (arr[j] > arr[j + 1]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值