冒泡排序、选择排序和插入排序的实现
来源:互联网 发布:windows to go 认证u盘 编辑:程序博客网 时间:2024/06/08 18:27
#include<iostream.h>void main(){ int i,count,*p; int j; cin>>count; p=new int[count]; for(i=0;i<count;i++) cin>>p[i]; for(i=0;i<count;i++) cout<<p[i]<<" "; cout<< endl; /* 选择排序(正序) */ for (i = 0; i < count; i++) {for (j = i + 1; j < count; j++) {int temp;if (p[i] > p[j]) {temp = p[j];p[j] = p[i];p[i] = temp;}}} for(i=0;i<count;i++) cout<<p[i]<<" "; cout<< endl; /* 冒泡排序(倒序) */ for (i = 0;i<count - 1;i++){ for (j = 0;j<count - i -1;j++){ if(p[j]<p[j+1]){ int temp; temp = p[j]; p[j]=p[j+1]; p[j+1]=temp;}}} for(i=0;i<count;i++) cout<<p[i]<<" "; cout<< endl; /* 插入排序(正序) */ for (i = 1; i < count; i++) {int temp = p[i];int j = i;while (temp < p[j - 1]) {p[j] = p[j - 1];j--;if (j <= 0)break;}p[j] = temp;} for(i=0;i<count;i++) cout<<p[i]<<" "; delete p;}