1.4.2冒泡法(先排序再去重)
阿新 • • 發佈:2019-01-04
#include<iostream> using namespace std; int main(){ int a[101],n,i,j,t; cout<<"請輸入共有多少本書,即n="; cin>>n; cout<<"請依次輸入各本書的ISBN編號:"<<endl; for(i=1;i<=n;i++){ cin>>a[i]; }/*O(N)*/ //開始氣泡排序 for(i=1;i<=n-1;i++){ for(j=1;j<=n-i;j++){ if(a[j]>a[j+1]){ t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } }/*O(N^2)*/ cout<<"排序過後的ISBN編號依次為:"<<a[1]<<" ";//輸出第一個數 for(i=2;i<=n;i++){ //現在的序列是有序的了 //從2迴圈到n if(a[i]!=a[i-1]) {//如果當前這個數是第一次出現則輸出 cout<<a[i]<<" "; } }/*O(N)*/ getchar(); return 0; } /*整個演算法的時間複雜度是O(2*N+N^2),忽略低階,最終該方法的時間複雜度為O(N^2)*/