一.选择排序

#include <stdio.h>

//选择排序 //记录最小的那个数的索引值

//下面这个循环就是去寻找最小的那个数的index

//有比k对应的值更小的

//判断是否需要交换

//k和i对应的值交换

void selectsort(int array[],int counttimes){

int k = 0;

for (int i = 0; i < counttimes - 1; i++) {

int  k = i ;

for (int j =i +1; j < counttimes; j ++) {

if (array[k] >array[j]) {

k = j ;

}

}

int temp;

if (k != i) {

temp = array[i];

array[i] = array[k];

array[k] = temp;

}

}

}

int main(int argc, const char * argv[]) {

int array[] = {1,25,8,22,2};

selectsort(array, 5);

for (int i = 0; i < 5; i++) {

printf("%d ", array[i]);

}

printf("\n");

return 0;

}

二.快速排序

#include <stdio.h>

void quicksort(int array[],int low,int high){

int i = low;

int j = high;

int temp = array[low];

if (low < high) {

while (i<j) {

while (i < j&& array[j] >= temp) {

j--;

}

array[i] = array[j];

while (i < j && array[i] <= temp) {

i ++;

}

array[j] = array[i];

}

array[i] = temp;

quicksort(array,0,i-1);

quicksort(array,i+1,high);

}

}

int main(int argc,const char * argv[]){

int array[] = {3,1,9,2,8,3,7,4};

quicksort(array, 0, 7);

for (int i = 0;i < 8;i++) {

printf("%d ",array[i]);

}

printf("\n");

return 0;

}

三.直接排序

#include <stdio.h>

void insertsort(int  array[],int elementNum){

int referenceNum = 0;

for (int i = 1; i < elementNum; i ++) {

referenceNum = array[i];

int j =i - 1;

for (; j>= 0; j--) {

if (array[j] > referenceNum) {

array[j+1] = array[j];

}else{

break;

}

}

if (j+1 != i ) {

array[j+1] = referenceNum;

}

}

}

int main(int argc,const char * argv[]){

int array[] = {5,4,6,2,1};

insertsort(array, 5);

for (int i = 0; i < 5; i ++) {

printf("%d ",array[i]);

}

printf("\n");

return 0;

}

转载于:https://www.cnblogs.com/liuzhicen/p/5033812.html

12-09关于几种排序方式相关推荐

  1. Java两种排序方式快慢比较

    2019独角兽企业重金招聘Python工程师标准>>> Java中List的排序方式有两种,现在我们测试下这两种排序方式的快慢吧,我们需要用到两个类, 一个是运行程序的Main类,另 ...

  2. 五种排序方式gif展示【python】

    简述 有五种排序方式. 文章目录 简述 排序 简单排序 冒泡排序 选择排序 归并排序 快速排序 排序 简单排序 import numpy as np import matplotlib.pyplot ...

  3. go kegg_玩转GO和KEGG富集因子图的N种姿势: 3种数据处理(含在线筛选条目),3种排序方式,本地交互图片...

    适用场景 富集性分析是各组学进行数据分析的必备分析项,其中,尤以GO和KEGG富集因子图最为常见,见封面图.这张图非常经典,相比于其他富集分析结果,它包含了基因数目.p值和富集因子三个维度的信息量,更 ...

  4. 4种排序方式比较:order by, sort by, distribute by, cluster by

    文章记录了4种排序方式:order by, sort by, distribute by, cluster by 总结: order by 全局排序,只有一个 Reducer,通过order对字段进行 ...

  5. 9个元素换6次达到排序序列_排序总结:二大种,六小种排序方式

    0.各种排序性能介绍 一.非线性时间比较排序 1.交换排序 1.1.冒泡排序 1.2.快速排序 2.插入排序 2.1.简单插入排序 2.2.希尔排序 3.选择排序 3.1.简单选择排序 3.2.堆排序 ...

  6. SQLaichemy三种排序方式

    一.介绍 SQLALchemy也是一个python的ORM框架,django内部的ORM框架只适用于django,而SQLALchemy适用于所有python的web框架 SQLAlchemy是一个基 ...

  7. Hive中的四种排序方式(order by,sort by,distribute by,cluster by)使用与区别详解

    在平时的Hive数仓开发工作中经常会用到排序,而Hive中支持的排序方式有四种,这里结合具体的案例详细介绍一下他们的使用与区别: order by sort by distribute by clus ...

  8. mysql中两次排序_MySQL中的两种排序方式: index和filesort

    index :通过有序索引顺序扫描直接返回有序数据,不需要额外的排序,操作效率较高. filesort:通过对返回数据进行排序,filesort 并不代表通过磁盘文件排序,而是说明进行了一个排序操作, ...

  9. php根据下标倒序排,PHP的三种排序方式

    数组排序 排序基础 大约有几十种方法的排序: php中,排序相当简单:一个函数搞定! 比如: $arr5 = array( 12, 'aa'=>8, 6=>10,'bb'=> 3, ...

  10. 数组常用的几种排序方式

    冒泡排序 冒泡拍排序:俩俩捉对比较,大或小就换位置,一直比下去,最大或者最小的放最后 最后的结果是从小到大(从1开始排列) 注意:如果要从大到小排列的话,就把compare方法中的a>b的判断改 ...

最新文章

  1. 应用化学:从二氯甲烷到四氯化碳
  2. unity3d中画线有几种方式_Spring RestTemplate中几种常见的请求方式
  3. DayDayUp:朋友圈有趣的职场跳槽微小说《华为跳阿里→阿里跳腾讯→腾讯跳百度→百度跳华为》
  4. 计算机视觉与深度学习 | 使用K均值聚类实现基于颜色的分割(matlab版)
  5. Unity3D学习笔记(一) 模型和贴图导入学习
  6. python动态显示数据_python中plot实现即时数据动态显示方法
  7. 16-就业课(2.1)-应用容器-Docker
  8. Python3 解题:字符串压缩
  9. C语言程序的错误和警告
  10. PowerShell 操作 Azure Blob Storage
  11. SQL笔试之远交近攻
  12. java包含_【Java】判断字符串是否包含子字符串
  13. NLP --- 隐马尔可夫HMM(极大释似然估计详解)
  14. VMware vSphere client 5.1登录出现这个错误:客户端无法向服务器发送完整请求
  15. Excel数据透视表制作
  16. jrtplib linux编译,jrtplib+jthread 交叉编译
  17. 项目管理十大知识领域之项目成本管理
  18. HttpClient 4使用方法的几个例子
  19. IOS版本APP STORE上架流程
  20. 一次Full GC分析

热门文章

  1. python创建类的实例方法-Python中动态创建类实例的方法
  2. android ble mesh,Android 蓝牙Mesh组网代码详解
  3. java的重点是什么_你知道初学者学习Java的重点是什么吗?
  4. linux系统安装deamonsync,DAEMON Sync的使用心得体会。简易版家庭云服务器!正是我要的那种...
  5. php7 实战 新闻类,楼+之PHP7实战第1期
  6. java cms 垃圾回收_Java 9 或将放弃 CMS(并发标记清除垃圾收集器)
  7. 计算机代码坑人小程序bat,批处理写的关机小程序--bat
  8. java把图片写入excel_使用POI向excel中写入图片的java代码
  9. 判断jQuery库是否被正确引入
  10. 【camera-lidar】自动驾驶相机-激光雷达融合方案综述