选择法冒泡法排序,法冒泡排序,#include<ios
分享于 点击 27967 次 点评:154
选择法冒泡法排序,法冒泡排序,#include#include<iostream.h>void MPsort(double array[],int length){ //冒泡法排序 cout<<"你当前选择为冒泡法排序"<<endl; //定义一个中间变量,存放中间值 double temp; //外层循环控制比较次数 for(int i=0;i<length-1;i++){ //内层循环控制每次要比较多少次 for(int j=0;j<length-i-1;j++){ if(array[j]>array[j+1]) {temp=array[j];array[j]=array[j+1];array[j+1]=temp;} } cout<<"第"<<i+1<<"趟比较:"; for(int q=0;q<length;q++) cout<<array[q]<<" "; cout<<endl; }}void XZsort(double array[],int length){ //选择法排序 cout<<"你当前选择为选择法排序"<<endl; int i,j,k,temp; //外层循环控制比较次数 for(i=0;i<length-1;i++){ //k用来存放"当前"最小的元素序号 k=i; for(j=i+1;j<length;j++) if(array[k]>array[j]) //k存放"当前"最小的元素序号 k=j; //把当前最小的元素存放在array[i]中 temp=array[k];array[k]=array[i];array[i]=temp; cout<<"第"<<i+1<<"趟比较:"; for(int q=0;q<length;q++) cout<<array[q]<<" "; cout<<endl; }}void main(){ //定义一个数组存放需要排序的数 double array[1000]; int k; int choice; cout<<"请输入你要排序的正数,输入-1(负数)作为结束标志:"<<endl; //输入需要排列的数,并且用k来存放数据长度 for(k=0;;k++){ cin>>array[k]; if(array[k]<0) break; } cout<<"排序前为:"; for(int i=0;i<k;i++){ cout<<array[i]<<" "; } cout<<endl; cout<<"请选择排序方法:"<<endl; cout<<"1:冒泡法排序"<<endl; cout<<"2:选择法排序"<<endl; cin>>choice; if(choice==1) MPsort(array,k); if(choice==2) XZsort(array,k); cout<<"排序后为:"; for(int j=0;j<k;j++){ cout<<array[j]<<" "; } cout<<endl;}//该片段来自于http://byrx.net
#include<iostream.h>void MPsort(double array[],int length){ //冒泡法排序 cout<<"你当前选择为冒泡法排序"<<endl; //定义一个中间变量,存放中间值 double temp; //外层循环控制比较次数 for(int i=0;i<length-1;i++){ //内层循环控制每次要比较多少次 for(int j=0;j<length-i-1;j++){ if(array[j]>array[j+1]) {temp=array[j];array[j]=array[j+1];array[j+1]=temp;} } cout<<"第"<<i+1<<"趟比较:"; for(int q=0;q<length;q++) cout<<array[q]<<" "; cout<<endl; }}void XZsort(double array[],int length){ //选择法排序 cout<<"你当前选择为选择法排序"<<endl; int i,j,k,temp; //外层循环控制比较次数 for(i=0;i<length-1;i++){ //k用来存放"当前"最小的元素序号 k=i; for(j=i+1;j<length;j++) if(array[k]>array[j]) //k存放"当前"最小的元素序号 k=j; //把当前最小的元素存放在array[i]中 temp=array[k];array[k]=array[i];array[i]=temp; cout<<"第"<<i+1<<"趟比较:"; for(int q=0;q<length;q++) cout<<array[q]<<" "; cout<<endl; }}void main(){ //定义一个数组存放需要排序的数 double array[1000]; int k; int choice; cout<<"请输入你要排序的正数,输入-1(负数)作为结束标志:"<<endl; //输入需要排列的数,并且用k来存放数据长度 for(k=0;;k++){ cin>>array[k]; if(array[k]<0) break; } cout<<"排序前为:"; for(int i=0;i<k;i++){ cout<<array[i]<<" "; } cout<<endl; cout<<"请选择排序方法:"<<endl; cout<<"1:冒泡法排序"<<endl; cout<<"2:选择法排序"<<endl; cin>>choice; if(choice==1) MPsort(array,k); if(choice==2) XZsort(array,k); cout<<"排序后为:"; for(int j=0;j<k;j++){ cout<<array[j]<<" "; } cout<<endl;}//该片段来自于http://byrx.net
用户点评