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

创始人
2024-12-28 18:49:05
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;i<大小;i++)

0;j--)

{

if(arr[j]

<

temp=arr[j];

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

arr[j-1]=temp;

}

}

}

C语言中将三个数字进行排序的几种写法

方法一:用三个变量存储三个数字,按从大到小的顺序排列:

inta,b,c,tmp;

printf("请输入3个数字:");

scanf("%d%d%d",&a,&b,&c);

if(a

{

tmp=a;

a=b;

b=tmp;

}

if(ah

{

tmp=a;

a=c;

c=tmp;

}

if(b

{

tmp=b;

b=c;

c=tmp;

}

printf("按从大到小的顺序:%d,%d,%d\n",a,b,c);

方法2:使用数组3保存两个变量并使用冒泡排序对它们进行排序。

inti=0,j=0,tmp=0,a[3];

printf("请输入三个数字:");

for(i=0;i<3>

scanf("%d",&a[i]);

for(i=0;i<2>

for(j=0;j<2>

if(a[i]

{

tmp=a[i];

a[i]=a[i+1];

a[i+1]=tmp;

}

printf("从大到小排序:");

for(i=0;i<3>

printf("%d",&a[i]);

printf("\n");

热门文章
1
Python字符串大小写转换方法汇总与示... python如何定义函数将小写转换为大写1.全部转换为大写:upper()用法:...

2
Java基础面试题:NIO、AIO与IO... 「2022最新版」Java基础面试题总结(60道题含答案解析)“一个强大的元编程...

3
深入解析JavaScript:Windo... javascript中的最高层是window吗?下面包扣哪些对象?给个层次结构图...

4
JavaScript中字符串与数值相加技... SQL如何让字符串与数值相加你好,这样写:rtrim()删除尾随空格,ltrim...

5
Python 3.11.0安装指南:Wi... Python3.11.0下载安装并使用help查看模块信息(Win11)访问Py...

6
C语言基础要点梳理:必背知识及经典程序解... c语言基础知识必背有哪些?C语言基础知识包括:1.命名C语言。2.变量和赋值。3...

7
SQL行列转换技巧解析:优化数据处理与分... 如何进行sql行转列,列转行整合?在编写大数据SQL时,列转换是一种旨在优化数据...

8
Java AJAX查询实现教程:前端后端... java中ajax怎样实现查询在Java中使用AJAX执行查询功能通常需要前端J...

9
揭秘前端:HTML、CSS、JavaSc... 前端包括什么前端主要由三个组件组成:HTML、CSS和JavaScript。1....

10
Python while循环详解:条件控... pythonwhile循环用法使用Pythonwhile循环:与if语句类似,w...