Sort
バブルソート
昇順ソートの一種.単純に数が少なければ,こちらの方が速度が速い場合が多い.
int b-sort(int a[],int n){ int i,j,t; for(int i=0;i<n;i++){ for(int j=n-1;j>i;j--){ if(a[j-1]>a[j]) t=a[j]; a[j]=a[j-1]; a[j-1]=t; } } }
計算量はO(n^2)となる.
選択ソート
整列されていない部分から最小の要素を取って,それを先頭へ持っていく.これを繰り返すのが選択ソートで,手順は,
for文
- a[0]~a[n-1]のうちの最小の要素を探して,それをa[0]と交換する.
- a[1]=a[n~1]のうちの最小の要素を探して,それをa[1]と交換する.
といったことをnを終わるまで繰り返す.
int ssort(int a[],int n){ int lowest,lowkey; for(int i=0;i<n-1;i++){ lowest=i; lowkey=a[i]; for(j=i+1;j<n;j++) if(a[j]<lowkey){ lowest=j; lowkey=a[j]; } t=a[i]; a[i]=a[lowest]; a[lowest]=t; } }
一応ここまでにして,続きはいつか書きます.