#navi(../)

* qsortを使って数値配列のソートを行うサンプルソース [#lbd7a300]
qsortを使ってqsortを使って数値配列のソートを行うサンプルソースおよび実行結果を以下に記します。

#contents
#htmlinsertpcsp(c-top.html,c-sp.html)

* 関連記事 [#e0d65948]
-[[qsortを使って文字列のポインタ群のソートを行うサンプルソース>ソート/qsortを使って文字列のポインタのソートを行う]]
-[[qsortを使って数値配列のソートを行うサンプルソース>ソート/qsortを使って数値配列のソートを行う]]

* qsortを使って数値の配列群をソートする [#dc5692c9]
以下のサンプルソースにより数値の配列の値をソートすることができます。

&ref(qsort_int.c); (改行コードLF)
 #include <stdio.h>
 #include <stdlib.h>
 
 int int_compar(const void *a, const void *b)
 {
     if (*(int*)a == *(int*)b) { return 0; }
     if (*(int*)a < *(int*)b)  { return -1; }
     return 1;
 }
 
 int main(void)
 {
     int i;
     int data[5] = {100,20,10,200,5};
 
 
     printf("===== BEFORE =====\n");
     for(i=0; i<5; i++) {
         printf("%d\n", data[i]);
     }
 
     for(i=0; i<5; i++) {
         qsort((void*)data, 5, sizeof(int), int_compar);
     }
 
     printf("===== AFTER =====\n");
     for(i=0; i<5; i++) {
         printf("%d\n", data[i]);
     }
 
     return 0;
 }



* 数値の配列のソート実行結果 [#v97da577]
コンパイルし実行した結果を以下に記します。
$ gcc qsort_int.c -o qsort_int
sakura@mini:~/c$ ./qsort_int 
 ===== BEFORE =====
 100
 20
 10
 200
 5
 ===== AFTER =====
 5
 10
 20
 100
 200

以上、数値の配列をqsort関数で行う方法でした。

#htmlinsertpcsp(c-btm.html,c-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS