插入是穩定的,冒泡穩定性取決於是否有等號,選擇是不穩定的
#include#include #include #include #include #include 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-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]
結果為下圖所示