常用的排序方法

01

冒泡排序

相信大家最熟悉的就是冒泡排序了,这个我就不多说

直接上动图演示原理,外加代码实现冒泡排序:

 

640?wx_fmt=gif&tp=wxpic&wxfrom=5&wx_lazy=1

C语言代码实现:

void BubbleSort(int arr[], int n){  //从小到大排序 相邻来两个数比较,将大的数字往后放  for (int i = 0; i < n - 1; i++)      //n-1是因为数组下标最大为n-1 要进行10轮比较  {    //n-1是因为数组下标最大为n-1 要进行10次比较,再减i是因为每最后的i个元素已经有序不需要继续排序    for (int j = 0; j < n - 1 - i; j++)    {      if (arr[j] > arr[j + 1])      //两两比较,将小的数据放前面      {        swap(arr, j + 1, j);        //交换arr数组arr[j+1]和arr[j]的值      }    }  }}//交换函数后面就不列举了,凡是swap都是下面代码实现的void swap(int arr[], int x, int y){  int temp = arr[x];  arr[x] = arr[y];  arr[y] = temp;}

02

选择排序

首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾,重复操作。

动图演示原理,外加代码实现选择排序:

 

640?wx_fmt=gif&tp=wxpic&wxfrom=5&wx_lazy=1

 

 

 

C语言代码实现:​​​​​​​

void SelectSort(int arr[], int n){  for (int i = 0; i < n - 1; i++)  {    for (int j = i + 1; j < n; j++)    {      if (arr[i] > arr[j])      {        swap(arr, i, j);  //交换arr数组arr[i]和arr[j]的值      }    }  }}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值