c语言初级学习----十大排序算法!(二)

c语言初级学习----基本排序算法----->选择排序!
前言:
  在学习排序之前,我们的排序需要借助“数组”的帮助,可以抽象的把数组理解为一个容器,数组里面有若干个杂乱无章的小元素,但是我们在处理这些小元素的时候,都会对其进行一系列操作,按一定的特定的顺序让其呈现在容器中。
  排序算法有多种,小编今天和大家探讨我比较喜欢的一种排序规则--选择排序。希望大家在探讨的过程中可以取其精华,去其糟粕。

选择排序:
======》》顾名思义:选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。(百度百科解释)

======》》小编理解:就是选择性的取出每次数组中的最大值(或最小值),然后放在一个新的序列的起始位置,然后重新在剩余数列中再次进行此操作,并将取得的数放在上一个取出数的后面(或前面)。按照特定的要求选择升序排列,还是降序排列。

先给大家举个列子:
              选择排序
在这个数列中,我们把整个数列按照从小到大的顺序(升序)进行排列,也就是每次取排序序列的最大值并与该数列的初始位置对应的值互换位置,第一次排序中,2 和 3、6、4、5 比较大小,选择比较出整个数列的最大值 6 ,然后将最大值 6 所在位置与初始位置 2 对应的值进行位置互换,第一次排序完成之后,进行第二次排序,将 3、2、4 、5进行比较,提取出第二次排序中的最大值 5 ,并与第二个位置的值进行位置互换,以此类推…最后数列完整的排序状态:6、 5、 4、 3、 2(降序排列)

代码展示:

#include <stdio.h>
int findMax(int arr[], int n);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值