首页 > 代码库 > 三类最基本排序(插入,冒泡,选择)
三类最基本排序(插入,冒泡,选择)
插入是稳定的,冒泡稳定性取决于是否有等号,选择是不稳定的
#include<iostream> #include<algorithm> #include <vector> #include<string.h> #include<ctype.h> #include<math.h> using namespace std; void fun(); int main() { fun(); return 0; } void fun() { int temp,i,j, arr1[8]={19,1,23,17,19,55,84,15}, arr2[8]={19,1,23,17,19,55,84,15}, arr3[8]={19,1,23,17,19,55,84,15}; //插入排序 for(i=1;i<8;i++) { if(arr1[i-1]>arr1[i]) { temp=arr1[i]; for(j=i-1;temp<arr1[j]&&j>-1;--j) arr1[j+1]=arr1[j]; arr1[j+1]=temp; } } //冒泡排序 for(int flag=1,i=1;i<8&&flag;++i) { for(flag=0,j=0;j<8-i;++j) { if(arr2[j]>arr2[j+1]) { flag=1; temp=arr2[j+1]; arr2[j+1]=arr2[j]; arr2[j]=temp; } } } //选择排序 for(int flag,i=0;i<8-1;i++) { flag=i; for(j=i+1;j<8;j++) if(arr3[j]<arr3[flag])flag=j; if(i!=flag) { temp=arr3[i]; arr3[i]=arr3[flag]; arr3[flag]=temp; } } for(i=0;i<8;i++) cout<<arr1[i]<<" "; cout<<endl; for(i=0;i<8;i++) cout<<arr2[i]<<" "; cout<<endl; for(i=0;i<8;i++) cout<<arr3[i]<<" "; cout<<endl; }
结果为下图所示
三类最基本排序(插入,冒泡,选择)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。