@冒泡法和选择法 排序算法实现

void swap(int& a, int& b)
{int temp=0;temp = a;a = b;b = temp;
}void bubble_sort(int a[], int n)
{int i,j;int temp;int flag = 1;//设置标志,如果第一次循环比较时没有发生交换,则说明数组是升序排序,不用排序,提前结束循环for(i=0; (i<n-1)&&(flag == 1); i++){flag = 0;for(j=0; j<n-i-1; j++){if(a[j] < a[j+1]){swap(a[j], a[j+1]);flag = 1;}}}
}void select_sort(int a[], int n)
{int i, j;for(i=0; i<n-1; i++){for(j=i+1; j <n; j++){if(a[j] < a[i]){swap(a[i], a[j]);}}}
}void select_sortwithflag(int a[], int n)
{int i, j, k;for(i=0; i<n-1; i++){k = i;for(j=i+1; j <n; j++){if(a[j] > a[k]){k = j;}}if(i != k){swap(a[i], a[k]);}}
}int main()
{int i = 0;int a[10]={100,102, 104,99, 88, 98, 110, 103,1,69};int b[10]={100,102, 104,99, 88, 98, 110, 103,1,69};printf("The bubble sort arithmetic:\r\n");printf("Before sort the data is :");for(i=0; i<10; i++){printf(" %d ", a[i]);}printf("\r\n");bubble_sort(a, 10);printf("After sort the Data is : ");for(i=0; i<10; i++){printf(" %d ", a[i]);}printf("\r\n");printf("The selection sort arithmetic:\r\n");printf("Before sort the data is :");for(i=0; i<10; i++){printf(" %d ", b[i]);}printf("\r\n");select_sort(b, 10);printf("After sort the Data is : ");for(i=0; i<10; i++){printf(" %d ", b[i]);}printf("\r\n");
}

The output of validation.

[tcsh] hanwuwex@bjsxfrax001:/local/hanwuwex/work> ./demo
The bubble sort arithmetic:
Before sort the data is : 100  102  104  99  88  98  110  103  1  69
After sort the Data is :  110  104  103  102  100  99  98  88  69  1
The selection sort arithmetic:
Before sort the data is : 100  102  104  99  88  98  110  103  1  69
After sort the Data is :  1  69  88  98  99  100  102  103  104  110
[Linux]                                                                         [tcsh] hanwuwex@bjsxfrax001:/local/hanwuwex/work>

冒泡法和选择法 排序算法实现相关推荐

  1. 排序算法(二)—— 选择法排序算法

    1.选择法排序简介 选择法排序算法是一种常用的排序算法,他的实现方法是遍历数组所有元素,找出最小的元素,将它与第一个元素交换:然后遍历剩下的元素,找出最小的元素并与第二个元素交换:接下来再遍历剩下的元 ...

  2. 数组排序之冒泡法和选择法

    排序是一维数组中最经典的常见操作.这一次,我们来聊聊冒泡排序法和简单选择排序法. 一.冒泡排序: 1.算法: 1>.基本思想:在排序过程中对元素进行两两比较,越小的元素会经由交换慢慢''浮''到 ...

  3. 算法之排序算法(冒泡法和选择法)

    本篇文章中,都以十个数排序为例子讲解. 冒泡法是依次从后面确定,而选择法则是依次从前面确定.也就是说,冒泡法先确定最后一个数,再确定倒数第二个,再确定--:选择法先确定第一个数,再确定第二个数,再确定 ...

  4. 在c语言中用冒泡法比较大小,c语言大小排序,用冒泡法和选择排序法

    满意答案 先上选择法和冒泡法: 1.选择法 #include void main() { int i,j,min,temp; int a[10]; printf("请输入十个整数:" ...

  5. C语言冒泡法和选择排序法

    C语言冒泡法和选择排序法 1.冒泡法代码 #include<stdio.h> int main() {int a[3];int p,i,tmp;for(i=0;i<3;i++)sca ...

  6. C语言 冒泡法排序,选择法排序和插入排序

    实例1 冒泡法排序 数组中有N个整数,用冒泡法将它们从小到大(或从大到小)排序. 实例解析: 排序是非常重要且很常用的一种操作,有冒泡排序.选择排序.插入排序.希尔排序.快速排序.堆排序等多种方法.这 ...

  7. C语言数组的五种简单排序,选择法排序,冒泡法排序、交换法排序、插入法排序、折半法排序

    文章目录 1.选择法排序 2.冒泡法排序 3.交换法排序 4.插入排序 5.折半法排序 6.五种方法比较 1.选择法排序 选择法排序是指每次选择索要排序的数组中的最小值(这里是由小到大排序,如果是由大 ...

  8. 选择法排序和冒泡法排序

    一.思路 1. 选择法排序 1. 把第一位和其他所有位比较,只要比第一位小的,就换到第一个位置来,比较数组长度-1次后,第一位就是最小的             2. 再从第二位和剩余的其他所有位进行 ...

  9. c语言求数组最大值最小值泡沫法,C语言选择法排序

    #include int main() { int i, j, p, n, q; int a[] = {, , , , }; //对无序数组进行排序 for(i=; i { p = i; for(j= ...

最新文章

  1. Entity Framework快速入门笔记第四篇—ModelFirst
  2. java 容器的嵌套_java界面设计里怎么实现容器嵌套
  3. hihocoder编程练习赛75
  4. LinQ中Skip()方法和Take()方法的使用
  5. java并发编程之美-阅读记录1
  6. 专科 java转go 翱翔之路(三)开发工具:goland2019.1安装一键到2089年试用期
  7. 你一定听过这些不太标准的技术圈发音...
  8. mysql创建定时器(event),查看定时器,打开定时器,设置定时器时间
  9. JSON-JSON 百科
  10. 网页输出pdf并转为word
  11. LeetCode-618. 学生地理信息报告(困难)行转列
  12. bjui ajax.js,B-JUI 前端管理框架
  13. 数字信号与模拟信号的区别是什么?
  14. 传智播客C语言视频第二季(第一季基础上增加诸多C语言案例讲解,有效下载期为10.5-10.10关闭)...
  15. python视频教程全集-Python视频教程全集带你入门
  16. Python实现list列表的有序子集查找
  17. java发送html模板的高逼格邮件
  18. 张量网络算法基础(七、张量网络中的有效哈密顿思想)
  19. 未来的全能保姆机器人作文_保姆机器人作文300字共5篇
  20. live555编译移植

热门文章

  1. 路由器的中继模式Repeater和桥接模式Bridge有什么区别
  2. 节日流水灯c语言编程,流水灯C语言编程
  3. 【CAD 卸载工具,完美彻底卸载清除干净auto系列软件cad max revit maya等各种残留注册表和文件】
  4. TPS、QPS、并发数、Throughput等概念
  5. 修改应用亮度和系统亮度
  6. python 指定证书验证_Python通过OpenSSL获取指定域名对应的SSL证书
  7. 第四届图灵杯-C.来简单地数个数(费波纳兹,字符串数据处理)
  8. Javaweb新闻管理系统01
  9. csdn学后感言 王安琪
  10. 即将沉陷历史的Google Talk