怎麼使用c語言中的sort排序,在結構體裡面按學號排序??

時間 2021-10-17 22:56:21

1樓:陳舸

問題描述的不是很清楚,不過我大概猜你是想對某些結構體做排序,結構體裡有個學號的字段,要以學號為標準來排序?可以使用qsort ,隨手碼了乙份。

#include

#include

#include

typedef

struct

student

Student

;int

compare

(const

void*a

,const

void*b

)elseif(

aa->

id>bb->id)

else

}Student

*createStudent

(char

*name

,unsigned

intid

)int

main();

unsigned

intids[8

]=;Student*st

[8];for

(inti=

0;i<8;

i++)printf

("Before sorting: \n"

);for

(inti=

0;i<8;

i++)printf("

\n");qsort(st

,8,sizeof

(Student*),

compare

);printf

("After sorting: \n"

);for

(inti=

0;i<8;

i++)return0;}

C語言中的選擇排序?

郭建波 選擇排序的過程 陣列排序前 7 23 12 4 33 21 2 17 13 9 第一輪迴圈 2 23 12 4 33 21 7 17 13 9 第二輪迴圈4 12 23 33 21 7 17 13 9 第三輪迴圈7 23 33 21 12 17 13 9 第四輪迴圈9 33 21 12 17...

在C語言中,如何安全地使用void ?

Lvcs 靈活接收資料型別,可以試試使用巨集定義而不用函式 舉個例子 判斷兩個數哪個大 define MAX a,b a b a b 使用巨集定義可以靈活接收各種型別的 a b,而使用函式判斷的話就需要事先設定傳入引數的型別了。 劉燦 傳遞指標同時提供區域長度 不用0來標識字串或區域結束 以typd...

c語言中 include stdio h , 的作用是什麼,為什麼不能去掉 ?

nullptr 表示這是預處理語句,由預處理器來處理。至於為啥是 這就是語法設計的事情了,也可以設計成 include等等。C C 標準已經規定是 開頭了,編譯器都是以檢測這個符號來做判定了,所以你如果想去掉,那麼就要去改C C 的編譯器,做乙個屬於你自己的編譯器。 程式設計思維 號表示這一行後面的...