博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据结构之各排序算法
阅读量:5975 次
发布时间:2019-06-20

本文共 1550 字,大约阅读时间需要 5 分钟。

#include 
void bubble_sort(int arr[], int n);///稳定void insert_sort(int arr[],int n);///稳定void selection_sort(int arr[],int n);///不稳定void quick_sort(int arr[],int start,int end);///不稳定int main(){ int a[105]; int n; scanf("%d",&n); int i; for(i=0;i
arr[j]){ min = j; } } if(min != i){ int tmp; tmp = arr[min]; arr[min] = arr[i]; arr[i] = tmp; } }}///冒泡排序,时间复杂度O(n^2),是稳定的void bubble_sort(int arr[], int n){ int i, j, temp; for (j = 0; j < n - 1; j++) for (i = 0; i < n - 1 - j; i++) { if(arr[i] < arr[i + 1]) { temp = arr[i]; arr[i] = arr[i + 1]; arr[i + 1] = temp; } }}///快速排序,时间复杂度O(n*log(n)),是不稳定的void swap(int arr[],int i,int j){ int tmp; tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp;}void quick_sort(int arr[],int start,int end) ///end代表数组中最后一个元素的位置{ if(start >= end){ return ; } int x; int i = start; int j = end; x = arr[start]; while(i != j){ while(i < j && arr[j] > x){ j--; } swap(arr,i,j); while(i < j && arr[i] <= x){ i++; } swap(arr,i,j); } quick_sort(arr,start,i-1); quick_sort(arr,i+1,end);}///插入排序,时间复杂度O(n^2),是稳定的void insert_sort(int arr[],int n){ int i=0; int tmp; for(i=1;i
tmp && j >= 0){ arr[j+1] = arr[j]; j--; } arr[++j] = tmp; }}

  

转载于:https://www.cnblogs.com/ACPIE-liusiqi/p/9670039.html

你可能感兴趣的文章
GRUB and LVM and EVMS
查看>>
List集合的迭代器方法
查看>>
ECShop替换FCKeditor编辑器为KindEditor
查看>>
oracle 11g EM停止后无法启动
查看>>
面向对象是软件开发范式的根本性颠覆: 主体建模, 非目标导向, 松耦合, 非逻辑分解, 软件进化...
查看>>
OSI七层模型和TCP/IP四层模型
查看>>
ceph学习笔记之七 数据平衡
查看>>
windows下的php的memcache扩展的安装及memcache最新下载地址
查看>>
YOLOv3: 训练自己的数据(绝对经典版本1)
查看>>
Python 自带IDLE中调试程序
查看>>
FireFox and IE CSS兼容要点
查看>>
10 Reasons Why Your Projects Should Use the Dojo
查看>>
利益驱动创新
查看>>
进制转换公式
查看>>
【持久化框架】SpringMVC+Spring4+Mybatis3集成,开发简单Web项目+源码下载【转】
查看>>
鼠标移动监听的注意事项
查看>>
linux 使用FIO测试磁盘iops
查看>>
POJ 1150 The Last Non-zero Digit 《挑战程序设计竞赛》
查看>>
asp.net C# 将数据导出到Execl汇总
查看>>
java 堆与栈的区别
查看>>