冒泡法和选择法 排序算法实现
@冒泡法和选择法 排序算法实现
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.算法: 1>.基本思想:在排序过程中对元素进行两两比较,越小的元素会经由交换慢慢''浮''到 ...
- 算法之排序算法(冒泡法和选择法)
本篇文章中,都以十个数排序为例子讲解. 冒泡法是依次从后面确定,而选择法则是依次从前面确定.也就是说,冒泡法先确定最后一个数,再确定倒数第二个,再确定--:选择法先确定第一个数,再确定第二个数,再确定 ...
- 在c语言中用冒泡法比较大小,c语言大小排序,用冒泡法和选择排序法
满意答案 先上选择法和冒泡法: 1.选择法 #include void main() { int i,j,min,temp; int a[10]; printf("请输入十个整数:" ...
- C语言冒泡法和选择排序法
C语言冒泡法和选择排序法 1.冒泡法代码 #include<stdio.h> int main() {int a[3];int p,i,tmp;for(i=0;i<3;i++)sca ...
- C语言 冒泡法排序,选择法排序和插入排序
实例1 冒泡法排序 数组中有N个整数,用冒泡法将它们从小到大(或从大到小)排序. 实例解析: 排序是非常重要且很常用的一种操作,有冒泡排序.选择排序.插入排序.希尔排序.快速排序.堆排序等多种方法.这 ...
- C语言数组的五种简单排序,选择法排序,冒泡法排序、交换法排序、插入法排序、折半法排序
文章目录 1.选择法排序 2.冒泡法排序 3.交换法排序 4.插入排序 5.折半法排序 6.五种方法比较 1.选择法排序 选择法排序是指每次选择索要排序的数组中的最小值(这里是由小到大排序,如果是由大 ...
- 选择法排序和冒泡法排序
一.思路 1. 选择法排序 1. 把第一位和其他所有位比较,只要比第一位小的,就换到第一个位置来,比较数组长度-1次后,第一位就是最小的 2. 再从第二位和剩余的其他所有位进行 ...
- c语言求数组最大值最小值泡沫法,C语言选择法排序
#include int main() { int i, j, p, n, q; int a[] = {, , , , }; //对无序数组进行排序 for(i=; i { p = i; for(j= ...
最新文章
- Entity Framework快速入门笔记第四篇—ModelFirst
- java 容器的嵌套_java界面设计里怎么实现容器嵌套
- hihocoder编程练习赛75
- LinQ中Skip()方法和Take()方法的使用
- java并发编程之美-阅读记录1
- 专科 java转go 翱翔之路(三)开发工具:goland2019.1安装一键到2089年试用期
- 你一定听过这些不太标准的技术圈发音...
- mysql创建定时器(event),查看定时器,打开定时器,设置定时器时间
- JSON-JSON 百科
- 网页输出pdf并转为word
- LeetCode-618. 学生地理信息报告(困难)行转列
- bjui ajax.js,B-JUI 前端管理框架
- 数字信号与模拟信号的区别是什么?
- 传智播客C语言视频第二季(第一季基础上增加诸多C语言案例讲解,有效下载期为10.5-10.10关闭)...
- python视频教程全集-Python视频教程全集带你入门
- Python实现list列表的有序子集查找
- java发送html模板的高逼格邮件
- 张量网络算法基础(七、张量网络中的有效哈密顿思想)
- 未来的全能保姆机器人作文_保姆机器人作文300字共5篇
- live555编译移植