電脳ミツバチのコンピュータ広報室

銀座の屋上菜園を耕しています。コンピュータ畑も耕します。

SORT ALGORITHM

bubblesort

void sort(int input[],int output[],int size) { int i,j; int flg=1; int temp; for(i=0;i<size;i++) {output[i]=input[i];} for(i=size-1;i>=0&&flg==1;i--) { for(j=0;j<i;j++) { if(output[j]>output[j+1]) { temp=output[j]; output[j]=output[j+1]; output[j+1]=temp; flg=1; } else {flg=0;} } } } どれも数分で書いたのでバ</i;j++)></size;i++)>…

基本選択法

void sort(int input[],int output[],int size) { int i,j; int minNo; int temp; for(i=0;i

挿入ソート

一番好きなソート。挿入するときにずらすための変数kは後ろから順に入れ替えると言うところがミソ そうすればスムーズにずらすことが出来る。 void sort(int input[],int output[],int size) { int i,j,k; int temp; for(i=0;i<size;i++) {output[i]=input[i];} for(i=1;i<size;i++) { for(j=0;j<i&&output[i]<output[j];j++); if(j<i) { temp=output[i]; for(k=i-1;k>=j;k--) {output[k+1]=ou…</size;i++)>

shellsort

void sort(int input[],int output[],int size) { int i,j; int h=size/2; int temp; for(i=0;i<size;i++) {output[i]=input[i];} while(h>=1) { for(i=0;i+h<size;i++) { for(j=i;j>=0&&output[j]>output[j+h];j-=h) { temp=output[j]; output[j]=output[j+h]; output[j+h]=temp; } } h=h/2; } }</size;i++)></size;i++)>

quicksort

覚えてしまえば一番よく使うと思われるソート。 個人的には基本ソートの中ではマージソートに続いて難しい。 void qsort(int data[],int start,int end); //*プロトタイプ宣言*// void sort(int input[],int output[],int size) { int i; for(i=0;i

sort algorithm

これがアルゴリズムによってソートされる検体 inputから適当な数を入れて sort関数に繋げてoutputへ出力するだけのプログラム。 #include<stdio.h> #define N 8 void sort(int input[],int output[],int size); main(){ int i; int input[N]={21,124,523,1,5,2,463,35</stdio.h>…