スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

クイックソート(2)

1000個の乱数を生成し、クイックソートでソートする。

#include <stdio.h>

#define swap(type, x, y) type t = x; x = y; y = t
#define DATA_SIZE 1000
int array[DATA_SIZE];

void printArray(void){
int idx;
for(idx=0;idx<DATA_SIZE;idx++){
printf("[%d]:%d\n", idx, array[idx]);
}
}

void quickSort(int array[], int bottom, int top){
int pl = bottom;
int pr = top;
int pivot = (bottom+top)/2;

do{
while(array[pl] < array[pivot])pl++;
while(array[pivot]< array[pr]) pr--;
if( pl <= pr){
swap(int, array[pl],array[pr]);
pl++;
pr--;
}
}while(pl <= pr);
if(bottom < pr)quickSort(array,bottom,pr);
if(pl < top) quickSort(array,pl,top);
}

int main(void){
int idx;
int data;

srand((unsigned)time(NULL));
for(idx=0;idx<DATA_SIZE;idx++)
array[idx] = rand();

puts("sort start");
printArray();
quickSort(array,0,DATA_SIZE-1);
puts("sort end");
printArray();

return 0;
}
スポンサーサイト
プロフィール

tjnet777

Author:tjnet777
Solaris, VPNのサポート業務を1年

金融系SIerで業務アプリの開発、メンテを3年半

離職して大学院大学 1年生

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。