冒泡排序&选择排序
来源:互联网 发布:sql server 分组 编辑:程序博客网 时间:2024/05/17 01:20
这两个排序的算法代码都是我从一个叫太阳落雨的博客上找来的,我放到我自己博客,也只是为了把两个排序算法放一起方便,顺便自己记忆,没有抄袭的意思。
一、算法思想
冒泡排序便是指把数组中的一个数与其下一个数进行比较,小的往前挪一个位置,进行几趟比较得到最终结果。而插入排序便是指先把第一个数定为最小数,让其一次次与其余数字相比较,最小的放到第一个位置上。在这里我们数字交换都是放在一个函数里,到时候直接调用就是了。
二、算法代码
#include<iostream>#include<string>using namespace std;void swap(int *a,int *b)//交换数字{int temp;temp=*a;*a=*b;*b=temp;}void BubbleSort(int *arr,int num)//冒泡排序{bool flag=false;//记录每趟是否存在交换for(int i=0;i<num;i++)//记录比了几趟{flag=false;for(int j=0;j<num-i-1;j++){ if(arr[j]>arr[j+1]){flag=true;swap(&arr[j],&arr[j+1]);}} if(!flag)//不存在交换则直接开始下一趟break;}}void SelectSort(int *a,int n){int min;for(int i=0;i<n;i++){min=i;for(int j=i+1;j<n;j++)//把除第一个数字以外的数与第一个数比较{if(a[min]>a[j])min=j;}if(min!=i)//min变化则交换swap(&a[i],&a[min]);}}int main(){//int a[]={4,35,2,65,7};int *a=new int[5];for(int i=0;i<5;i++)cin>>a[i];BubbleSort(a,5);cout<<"冒泡排序为:"<<endl;for(int i=0;i<5;i++){cout<<a[i]<<" ";}cout<<endl;SelectSort(a,5);cout<<"插入排序为:"<<endl;for(int i=0;i<5;i++){cout<<a[i]<<" ";}cout<<endl;}
0 0
- 冒泡排序 选择排序
- 冒泡排序、选择排序
- 冒泡排序 选择排序
- 选择排序 冒泡排序
- 冒泡排序/选择排序
- 冒泡排序/选择排序
- 冒泡排序 选择排序
- 选择排序冒泡排序
- 选择排序 冒泡排序
- 冒泡排序、选择排序
- 冒泡排序,选择排序
- 选择排序-【冒泡排序】
- 冒泡排序,选择排序
- 选择排序&冒泡排序
- 冒泡排序选择排序
- 选择排序,冒泡排序
- 冒泡排序&选择排序
- 冒泡排序、选择排序
- 浅谈WebLogic和Tomcat
- android studio sonatype nexus aar
- HBase的特征和优点
- Http协议详解
- VS2013使用教程总结(2)---显示行号
- 冒泡排序&选择排序
- 对象池的应用的简单Demo
- Listview列表收缩与展开——ExpandableListView
- 程序员为对抗雾霾可以做些什么?
- mac配置openfire具体步骤及遇到的问题总结
- 物理引擎Chipmunk2d学习笔记
- UITextField 被键盘挡住时自动上移调整textField frame
- 字符串格式化
- Mybatis+servlet实现的web实例