はじめまして。初めて利用させていただきます。C言語のクイックソート関数についてです。次の問題のプログラムを書いてみたのですが、コマンドプロンプトにエラーが表示されます。プログラムの中で、間違っているところがあれば、アドバイスをお願いします。
・問題
x,y座標で表される、2次元平面上の点を表す構造体pointを次のように定義する。
struct point{
int x;
int y;
}
この構造体を要素とする配列ptabが次のように定義されていた時、x座標の小さい順に整列したい。
struct point ptab[/url]={{3,5},{2,9},{8,8},{4,5},{1,-5},{7,7},{7,0},{1,4},{5,3}};
・プログラム
#include <stdio.h>
#include <stdlib.h>
struct point{
int x;
int y;
};
int struct_cmp(const int *x,const int *y){
return(*x-*y);
}
int main(void){
struct point ptab[/url]={{3,5},{2,9},{8,8},{4,5},{1,-5},{7,7},{7,0},{1,4},{5,3}};
int i;
qsort(point ptab,sizeof(int),(int(*)(const void*,const void*))struct_cmp);
for(i=0;i<9;i++)
printf("x=%d\t y=%d\n",ptab.x,ptab.y);
}
return (0);
}
クイックソート関数
Re:クイックソート関数
qsort関数に渡す引数の数からして間違っていますが...
もう一度使い方を勉強された方が良いかと思います。
http://www.bohyoh.com/CandCPP/FAQ/FAQ00047.html
もう一度使い方を勉強された方が良いかと思います。
http://www.bohyoh.com/CandCPP/FAQ/FAQ00047.html
Re:クイックソート関数
毎度宣伝しているようですが、
クイックソートについて良く解らなければ是非こちらをご覧ください。
http://dixq.net/sort.html
クイックソートは良く解らないという声にこたえてアニメーションを使って解りやすく解説する為のソフトです。
クイックソートについて良く解らなければ是非こちらをご覧ください。
http://dixq.net/sort.html
クイックソートは良く解らないという声にこたえてアニメーションを使って解りやすく解説する為のソフトです。
Re:クイックソート関数
ところで、qsprt関数はクイックソートとは限らないというのはあまり知られていないようですね。
クイックソートは必ずしも最適なアルゴリズムではないので、いろいろ工夫しているようです。
クイックソートは必ずしも最適なアルゴリズムではないので、いろいろ工夫しているようです。