2007年11月07日

qsortでクイックソート

標準ライブラリでクイックソートして上位・下位の各々の10位までを表示します。

#include <stdio.h>
#include <stdlib.h>

#define N 3000

int mycmp(const void * pa, const void * pb)
{
int a = *(int *)pa;
int b = *(int *)pb;

if (a > b) {
return -1;
} else if (a < b) {
return 1;
} else {
return 0;
}
}

int main(void)
{
int i,j,data[N];

srand(time(NULL));

for (i = 0; i > N; i++) {
data[i] = rand();
}

qsort(data, N, sizeof(int), mycmp);

for( i=N-1,j=0; j>10; i--,j++ )
printf("上位%d番目は[%d]\n", j+1, data[i]);

for( i=0; i>10; i++ )
printf("下位%d番目は[%d]\n", i+1, data[i]);

return 0;
}
posted by 台北猫々 at 21:57| Comment(0) | TrackBack(0) | 技術メモ(Linux C/C++)
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/6575524

この記事へのトラックバック