私は2つの要素char *word
とで構成される構造を持っていint number
ます。バブルソートを使用してそれらをソートする場合、両方の交換パーツを作成する必要があります。
int i,j,tmp;
char * temp;
for(i=0; i<max;i++)
{
for(j=0;j<max-i;j++)
{
if(strcmp(array[j].word,array[j+1].word)>0)
{
temp=array[j].word;
array[j].word=array[j+1].word;
array[j+1].word=temp;
tmp=array[j].number;
array[j].number=array[j+1].number;
array[j+1].number=tmp;
}
}
}
私の構造体宣言を編集する
typedef struct{
char *word;
int number;
}
words;
words *array=NULL;
配列にn個の要素がある場合はどうなりますか?それはすべてを交換するのに非常に時間がかかります。これを省略する方法はありますか?
私が使いたくない他のソートアルゴリズム(のようなqsort
)を除いて、コースの。