C语言排序算法详解:冒泡、选择与插入排序

创始人
2024-12-27 02:33:45
0 次浏览
0 评论

c语言三种排序

常用的C语言排序算法主要有三类:冒泡排序、选择排序和插入排序。

1.冒泡排序冒泡排序:

从第一个数开始,按顺序进行比较,满足判断条件时进行交换。
代码实现(以降序排序为例)

#include

intmain()

{

intarray[10]={6,9,7,8,5,3,4,0,1,2};

for(inti=0;i<10>

for(intj=0;j<10>

{

{//前一个数字大于后一个数字时发生Exchangetemp=array[j];

}

}//打印数组for(inti=0;i<10>

2.选择排序以升序为例:

即在指定索引的数组元素之后(指定索引的元素通常从第一个元素开始,然后按顺序往回走),查找Values​​指定下标以外的元素与指定元素进行比较,满足条件则交换。
与冒泡排序的区别可以理解为冒泡排序是比较两个相邻的值,而选择排序是遍历数组找到数组元素并与指定的数组元素进行比较。
(以升序为例)

#include

intmain()

intarray[10]={6,9,7,8,5,3,4,0,1,2};

inttemp,索引;

for(inti=0;i<9>

{

index=j;

}

if(i!=索引)

{

temp=array[i];

array[i]=array[索引];

数组[索引]=temp;

}

for(inti=0;i<10>

printf("%2d"array[i])

return0;

}

3.快速排序

它通过排序将待排序的数据分成两个独立的部分。
一部分中的所有数据都小于另一部分中的所有数据,然后使用这种方法快速对两部分数据进行排序。
整个排序过程可以递归地完成,从而使整个数据成为有序序列。

voidQuickSort(int*arr,intsize)

{

inttemp,i,j;

for(i=1;i0;j--)

{

if(arr[j]

{

temp=arr[j];

arr[j]=arr[j-1];

arr[j-1]=temp;

}

}

}

c语言排序的方法

排序主要分为以下几类。
1.冒泡排序:通过循环比较前一个和后一个数字的大小进行交换。
最后,对数组进行排序。
2.快速排序:首先以第一个数字为参考,然后循环将大于该数字的前半部分替换为小于该数字的后半部分,从而将该数字作为分向線。
,且前一项小于该数。
最后一个大于这个数,然后继续分成两部分。
热门文章
1
c语言有三维数组吗 C语言三维数组初始化详细方法和步骤如下:1第一步,需要定义一个数组。常见的数组类...

2
js字符串包含某个字符串的个数 js问题:求字符串中某个字符出现的个数的方法?看看是否满足你的需求(x);}pu...

3
轻松调整SQL Server 2008表... sql2008表格怎么只能编辑前两200行200线是默认设置,并且仅在号码开通时...

4
C语言基础解析:从Hello World... C语言的基本要素有哪些?基本的C语言格式可以参考基本的helloworld程序。...

5
Python排列组合与循环运用技巧解析 怎样使用Python进行排列组合?对于这类问题,我们可以使用分割循环来执行转换和...

6
C语言for循环技巧:非C字符位置记录与... C语言for循环问题求解.在for中,我记录了要写入的非c字符的位置。仅当字符不...

7
Hive内置函数全解析:数学、字符串、日... 2021年大数据Hive(五):Hive的内置函数(数学、字符串、日期、条件、转...

8
Python随机数生成技巧:轻松输出任意... python通过键盘输入随机数种子,产生50个[0,100]之间的随机正整数,然...

9
C语言实现字符串倒序输出教程 请教C语言字符串倒序输出#include#includevoidmain(){c...

10
C语言一元二次方程解答器实现与优化 这个c语言程序哪里有问题,我想写一个一元二次方程解答器。#include#inc...