首页 > 代码库 > 直接插入排序 快速排序算法 直接选择排序
直接插入排序 快速排序算法 直接选择排序
以下三个验证性实验都做。
(1)直接插入排序算法验证。
(2)快速排序算法验证。
(3)直接选择排序算法验证。
#include<iostream>#include<cstdlib>using namespace std;class dishizhang{public: int a[10]; int b[10]; dishizhang() { int tem; for(int i = 0 ; i < 10 ; i ++) { while(1) { int flag = 0; tem = rand() % 10; for(int j = 0 ; j < i ; j ++) { if(tem == a[j]) { flag = 1; break; } } if(flag == 0) { a[i] = tem; break; } } } cout<<"原始数列为:"; for(int i = 0 ; i < 10 ; i++) { cout<<a[i]<<" "; } cout<<endl; for(int j = 0 ; j < 10 ; j++) { b[j] = a[j]; } } void zhijiecharu() { int tem[10]; for(int i = 0 ; i < 10 ; i ++) { tem[i] = a[i]; } for(int i = 1 ; i < 10 ; i++) { int j = i-1; int temnum = tem[i]; while(j >= 0 && temnum < tem[j]) { tem[j+1] = tem[j]; j--; } tem[j+1] = temnum; } for(int i = 0 ; i < 10 ; i++) { cout<< tem[i] <<" "; } } void kuaipai(int low , int high) { if( low < high) { int tem = fuzhukuaipai( low , high); kuaipai(low , tem -1); kuaipai(tem+1,high); } } int fuzhukuaipai(int low , int high) { int tem = b[low]; while(low < high) { while(low < high && b[high] >= tem )--high; b[low] = b[high]; while(low < high && b[low] <= tem) ++low; b[high] = b[low]; } b[low] = tem; return low; } void zhijiexuanze() { int tem[10]; for(int i = 0 ; i < 10 ; i++) { tem[i] = a[i]; } int i,temnum; i = 0; int temi; while( i < 10) { int flag = 0; temnum = tem[i]; for(int j = i ; j < 10 ; j++) { if(tem[j] < temnum) { temnum = tem[j]; temi = j; flag = 1; } } int num; if(flag!=0) { num = tem[temi]; tem[temi] = tem[i]; tem[i] = num; } i++; } cout<<"直接选择后的序列是:"; for(int i = 0 ; i < 10 ; i++) { cout<<tem[i]<<" "; } } void print() { for(int i = 0 ; i < 10 ; i++) { cout<<a[i]<<" "; } }};int main(){ dishizhang duskcl; duskcl.zhijiexuanze();}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。