搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
凡人多烦事01
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
am命令基本知识_am start
2
ccfcsp201312-2 ISBN号码
3
分享 GitHub 上的敏感词汇工具类:sensitive-word_sensitive word 开源
4
MK+Sen趋势检验(长时间栅格数据)_遥感影像theil-sen趋势分析mk检验
5
【BUG解决】vscode debug python launch.json添加args不起作用_launch.json args
6
Java多线程面试题_java面试 多线程
7
检测和解决 SQL Server 2000 SP 4 中的延迟和阻塞 I/O 问题_sql server has encomtered 3 ocurence of i/o reques
8
【论文泛读】4. 机器翻译:Neural Machine Translation by Jointly Learning to Align and Translate_src_train_data和trg_train_data
9
redis设置缓存时间一般多少_redis缓存涉及到商品时时间控制多久
10
VM虚拟机 Linux网络配置(Center os 6.8)。_vm虚拟机 linux6.8更改网络配置
当前位置:
article
> 正文
C语言常用的几种排序算法代码(选择排序,冒泡排序,插入排序,快速排序)_直接插入排序、简单选择排序、冒泡排序、快速排序c语言代码
作者:凡人多烦事01 | 2024-04-19 01:22:37
赞
踩
直接插入排序、简单选择排序、冒泡排序、快速排序c语言代码
#include <stdio.h>
#include <stdlib.h>
/*插入排序算法代码*/
void insert_sort(int a[],int n)
{
int i = 0,j = 0;
for(i = 1;i < n;i++)
{
j = 0;
while(a[j] < a[i] && j < i)
{
j++;
}
if(i != j)
{
int temp = a[i];
for(int k = i;k > j;k--)
{
a[k] = a[k - 1];
}
a[j] = temp;
}
}
}
/*冒泡排序算法代码*/
void bubble_sort(int a[],int n)
{
for(int i = 0;i < n - 1;i++)
for(int j = 0;j < n - 1 - i;j++)
{
if(a[j] > a[j + 1])
{
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
/*选择排序算法代码*/
void select_sort(int a[],int n)
{
for(int i = 0;i < n - 1;i++)
{
int mindex = i;
for(int j = i + 1;j < n;j++)
{
if(a[i] > a[j])
mindex = j;
}
if(mindex != i)
{
int temp = a[i];
a[i] = a[mindex];
a[mindex] = temp;
}
}
}
/*快速排序算法代码*/
int partion(int array[],int low,int high)
{
int key;
key = array[low];
while(low < high)
{
while(low < high && array[high] >= key)
{
high--;
}
if(low < high)
array[low++] = array[high];
while(low < high && array[low] <= key)
{
low++;
}
if(low < high)
array[high--] = array[low];
}
array[low] = key;
return low;
}
void quick_sort(int array[],int start,int end)
{
int pos;
if(start < end)
{
pos = partion(array,start,end);
quick_sort(array,start,pos-1);
quick_sort(array,pos+1,end);
}
}
/*主函数代码*/
int main()
{
int a[5] = {100,3,2,7,4};
int i = 0;
printf("排序前:\n");
for(i = 0;i < 5;i++)
{
printf("%d\t",a[i]);
}
putchar('\n');
//
insert_sort(a,5);
//
bubble_sort(a,5);
//
select_sort(a,5);
quick_sort(a,0,4);
printf("排序后:\n");
for(i = 0;i < 5;i++)
{
printf("%d\t",a[i]);
}
return 0;
}
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/凡人多烦事01/article/detail/449225
推荐阅读
article
Algorithm
:【
算法
进阶之路】之
算法
面试刷题集合—
十大
经典
排序
算法
(简单插入
排序
/希尔
排序
、
...
Algorithm
:【
算法
进阶之路】之
算法
面试刷题集合—
十大
经典
排序
算法
(简单插入
排序
/希尔
排序
、
选择
排序
/堆
排序
、
...
赞
踩
article
七大
排序
算法
(插排,
希尔
,选择
排序
,堆排,
冒泡
,快排,归并)
--
图文详解_
希尔
排序
、
冒泡
排序
、
快速排...
万字长文加N多图片喂你七大
排序
的知识点, 让你用脚都能写出
排序
算法
_
希尔
排序
、
冒泡
排序
、
快速
排序
、
归并
排序
思维导图
希尔
排...
赞
踩
article
排序
:
冒泡
排序
,
直接
插入
排序
,
简单选择
排序
,
希尔
排序
,
快速
排序
,
堆
排序
,
二路归并
排序
...
前面的指针因为要保持数组的前半部分都小于基准值
,
所以遇到小于等于基准值的就
直接
跳过
,
往后走
,
直到找到大于基准值的元素。快...
赞
踩
article
【
数据结构
】带你玩转
排序
:堆
排序
、
希尔
排序
、
插入
排序
、
选择
排序
、
冒泡
排序
、
快排(多版本)
、
归并
排序
_...
堆
排序
、
希尔
排序
、
插入
排序
、
选择
排序
、
冒泡
排序
、
快排(多版本)
、
归并
排序
_在
插入
排序
、
希尔
排序
、
选择
排序
、
快速
排序
、
堆排...
赞
踩
article
数据结构
七:七大
排序
(
插入
排序
,希尔
排序
,选择
排序
,堆
排序
冒泡
排序
,快速
排序
,归并
排序
)_
插入
排序
,
...
七大
排序
,重点是快排的三种找基准的方法和非递归实现以及其余
排序
的代码实现_
插入
排序
,
hash
排序
,
插入
排序
,
hash
排序
...
赞
踩
article
【
数据结构
和
算法
】八大
排序
算法
(
插入
排序
,
希尔
排序
,
选择
排序
,堆
排序
,冒泡
排序
,快速
排序
,归并
排序
,...
【
数据结构
和
算法
】八大
排序
算法
(
插入
排序
,
希尔
排序
,
选择
排序
,堆
排序
,冒泡
排序
,快速
排序
,归并
排序
,计数
排序
)_八大
排序
...
赞
踩
相关标签
算法
排序算法
数据结构
java
C语言
后端
c++
c语言