插入、冒泡、选择排序

程序源码:

#include<iostream>
using namespace std;
void swap(int a[],int i,int j){
	int tmp=a[i];
	a[i]=a[j];
	a[j]=tmp;
}
void print(int a[],int i,int n){
	int k;
		for(k=0;k<=i;k++)
			cout<<a[k]<<" ";
		cout<<"|"<<" ";
		for(k=i+1;k<n;k++)
			cout<<a[k]<<" ";
		cout<<endl;
}
void inssort(int a[],int n){
	for(int i=0;i<n-1;i++){
		for(int j=i+1;j>0;j--){
			if(a[j]<a[j-1])
				swap(a,j,j-1);
		}
		print(a,i+1,n);
	}
}
void bubsort(int a[],int n){
	for(int i=0;i<n-1;i++){
		for(int j=n-1;j>i;j--){
			if(a[j]<a[j-1])
				swap(a,j,j-1);
		}
		print(a,i,n);
	}
}
void selsort(int a[],int n){
	for(int i=0;i<n-1;i++){
		int low=i;
		for(int j=i+1;j<n;j++){
			if(a[j]<a[low])
				low=j;
		}
		swap(a,i,low);
		print(a,i,n);
	}
}
int main(){
	int x[8]={42,20,17,13,28,14,23,15};
	cout<<"insert sort:"<<endl;
	inssort(x,8);
	cout<<endl;
    int y[8]={42,20,17,13,28,14,23,15};
	cout<<"bubble sort:"<<endl;
	bubsort(y,8);
	cout<<endl;
	int z[8]={42,20,17,13,28,14,23,15};
	cout<<"select sort:"<<endl;
	selsort(z,8);
	cout<<endl;
}

截图:

插入、冒泡、选择排序_第1张图片

你可能感兴趣的:(插入、冒泡、选择排序)