目录

概要:

一、冒泡排序法(Bubble Sort)

实现方法:

代码示例:

二、选择排序法(Selection Sort)

实现方法:

代码示例:

写在最后:


概要:

本文会介绍两种简单常用的数组排序方法,,以及它们的实现方法和代码示例。

一、冒泡排序法(Bubble Sort)

实现方法:

冒泡排序法,顾名思义,相当于将元素上下排列,轻(小)者上浮,重(大)者下沉。是从最上端元素(第一位)开始由相邻数据两两比较达到排序效果。

(1)对每一对相邻的元素进行比较,若第一个比第二个大,则调换这两个元素的位置,依次两两比较直到数据的最后一对。

(2)重复n次(1)中操作,n为数组中元素的个数,由于每轮结束最后一位一定是最大的,故最后一位不用参与比较。

(3)一直到没有数据可比,输出排序后的数据。(或可设置一个变量来记录是否发生数据交换,若无,则已排序完成,可直接输出)

代码示例:

#include<stdio.h>
int main() {int n, m, i, j, temp;int arr[100];//定义一个数组;printf("请输入元素个数\n"); scanf("%d", &n);    //n为元素的个数printf("请输入数据\n");for (i = 0; i < n; i++){scanf_s("%d", &arr[i]);    //输入数据;}m = n;            //因为每进行一次第一轮循环,需要排序的数据都要“--”,因此定义变量m=n;for (i = 0; i < n; i++) {int exchange = 0;           //记录这一轮会不会有数据的交换;for (j = 0; j < m-1; j++) {if (arr[j] > arr[j + 1]) {temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;exchange = 1;}}m--;if (!exchange)  //若没有数据的交换,则数据已经排列完毕,跳出循环;break;}for (i = 0; i < n; i++){printf("%d ", arr[i]);        //输出}return 0;}

二、选择排序法(Selection Sort)

实现方法:

设一个数组中有n个元素,选择出n个元素中最小的一个数据放到第一位,再选择余下n-1个数据中最小的放到第二位,以此类推,达到排序效果。

(1)记录排序的位置,用该位置上的数据与其后数据各个比较,得出最小值赋予该位置。

(2)以此类推,找出对应1~n-1位位置的数据

(3)输出排序后的数组。

代码示例:

#include<stdio.h>
int main()
{int n,i,j,temp,pos; /*temp记录最小值,pos记录最小值位置*/printf("请输入要排列几个数据\n");scanf("%d",&n);int arr[n];            /*定义一个n个元素的数组*/  printf("请输入各个数据\n");     for(i=0;i<n;i++)       /*输入各个数据*/{scanf("%d",&arr[i]);}for(i=0;i<n-1;i++)         /*n个数排序,则只需执行n-1次*/{temp=arr[i];         /*记录此时的值为最小值*/pos=i;               /*记录该元素的位置*/for(j=i+1;j<n;j++)  /*与后面的元素逐个比较*/{if(arr[j]<temp)  /*若temp中的数大于下一位,则temp赋值为下一位*/{temp=arr[j];pos=j;}}arr[pos]=arr[i];      /*交换两个元素的值*/arr[i]=temp;}for(i=0;i<n;i++)         /*输出排序后的数组*/{printf("%d ",arr[i]);}return 0;} 

写在最后:

未完待续,小白会随着深入学习加入其他排序方法,感谢支持!

简单的数组元素排序方法相关推荐

  1. JS之数组元素排序方法sort

    作用:sort() 方法用于对数组的元素进行排序 语法:arrayObject.sort(sortby) 参数:可选.规定排序顺序.必须是函数 返回值:对数组的引用.请注意,数组在原数组上进行排序,不 ...

  2. python求数字平均值_Python简单计算数组元素平均值的方法示例

    本文实例讲述了Python简单计算数组元素平均值的方法.分享给大家供大家参考,具体如下: Python 环境:Python 2.7.12 x64 IDE : Wing IDE Professional ...

  3. python提取数组元素_python简单获取数组元素个数的方法

    python简单获取数组元素个数的方法 更新时间:2015年07月13日 17:54:46 作者:pythoner 这篇文章主要介绍了python简单获取数组元素个数的方法,实例分析了Python中l ...

  4. java数组元素的排序_java学习之数组元素排序,冒泡排序和选择排序

    java学习之数组元素排序 选择排序 *返回值类型 void *参数列表 int[] arr * 分析:选择排序 * 第一次arr[0]与arr[1-4]比较,总共比较4次 * 第二次arr[1]与a ...

  5. JAVA学习-数组元素排序

    JAVA实现数组元素排序,把数组中已知的10个数字由小到大排序后输出 代码: public class ArraryRank {//定义公共类public static void main(Strin ...

  6. python改变数组元素排序

    python改变数组元素排序 定义一个数组:l = ["小明","小红","小刚"],用函数去改变元素的排序. 1.实例 l = [&quo ...

  7. matlab中有虚数j吗,在MATLAB中用虚数部分对复数数组元素排序

    我有一组数据点,它们是复数,它们有8行6列.如果你看看这个程序,你可以看到数据集是非常随机排列的.第1,2,3列没问题,但是第4列有点异常.我的意思是说,在B(5,4)的元素(即25.98686740 ...

  8. c语言 用指针对数组元素排序

    用指针对数组元素排序 请用程序实现 使用指针对数组元素进行由小到大排序. 函数定义 void sort (int n, int *p); 参数说明 n, 整型,表示数组长度 p, 整型指针,表示需要排 ...

  9. js中的数组对象排序(方法sort()详细介绍)

    定义和用法 sort() 方法用于对数组的元素进行排序. 语法    arrayObject.sort(sortby) 参数sortby:可选.规定排序顺序.必须是函数. 返回值 对数组的引用.请注意 ...

最新文章

  1. 大改ShuffleNetV2网络,注意力机制,csp,卷积裁剪
  2. Linux的vx开头的文件,linux文件系统简述
  3. 遍历children_589. N叉树的前序遍历
  4. 怎么用命令开远程主机的telnet服务 2
  5. LeetCode 653. Two Sum IV - Input is a BST
  6. 思科交换机路由器破解密码
  7. csm和uefi_UEFI和Legacy的区别是什么,请尽量从原理上说明?
  8. Java面试之Java基础篇(offer 拿来吧你)
  9. [ 网络协议篇 ] IGP 详解之 RIP 详解(一)
  10. 烤仔TVのCCW | 带宽不可能三角(下)
  11. 2011年国庆2天厦门到平潭岛湄洲岛自驾游
  12. [日常训练] 联络网
  13. [redis] 10 种数据结构详解
  14. 词法分析器(实现报告)
  15. Arduino基础入门篇16—数码管库的使用
  16. IDEA中Translation插件无法使用怎么办?
  17. 小马哥---高仿红米note 刷机 主板型号T7203主板图与开机识别图 6572芯片
  18. 在你所有的项目中都加入 TailwindCSS 吧!
  19. 英文字幕视频翻译成中文字幕
  20. JVM内存与垃圾回收篇——堆

热门文章

  1. 用纯css3仿ios水晶icon,仅支持webkit浏览器
  2. 遥望布达拉——DAY14 左贡-邦达
  3. AcWing 石子合并
  4. 工程制图第四章【广工】
  5. 2021年安全员-A证考试题库及安全员-A证试题及解析
  6. google的protocal buffers(proto2)之(一)
  7. HCIE 面试资料-DHCP
  8. 鉴别优秀互联网公司的五项原则:前台大美女、工资有点高!
  9. int 和 Integer 有什么区别,Integer的值缓存范围
  10. PADS VX2.8 Mark点的制作方法