1. 程式人生 > >qsort對二維數組的排序

qsort對二維數組的排序

lib per math.h 二維 color 一個 什麽 use 結構體數組

轉自 :http://blog.csdn.net/slience_perseverance/article/details/6695048

qsort對二維數組排序與對以為數組排序是一樣的幾乎沒有什麽差別,而且後來想想定義一個二維數組所占的空間與定義一個機構體所占的空間是一樣

的,所以沒有必要用多維數組,直接用結構體數組就行。

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>

int cmp(const void *a,const void *b)
{
    
int *c = (int *)a; int *d = (int *)b; if(*c != *d) return *c - *d; return *(d+1) - *(c+1); } int main() { int i, j; int a[6][2]={{1,6},{1,7},{3,9},{3,9},{4,10},{4,12}}; for(i=0;i<6;i++) { for(j=0;j<2;j++) printf("%d ",a[i][j]); printf("\n
"); } printf("\n"); qsort(a,6,sizeof(a[0]),cmp); for(i=0;i<6;i++) { for(j=0;j<2;j++) printf("%d ",a[i][j]); printf("\n"); } system("pause"); return 0; }

qsort對二維數組的排序