利用c函数qsort对结构体进行排序

#include <stdio.h>
#include <stdlib.h>
typedef struct{
	int x;
	int y;
	int h;
}dot;
int cmp(const void *a, const void *b)
{
	return (*(dot *)a).h - (*(dot *)b).h;
}
int main()
{
	dot line[9];
	line[0].h = 30;
	line[1].h = 2;
	line[2].h = -10;
	line[3].h = 11;
	line[4].h = 20;
	line[5].h = 100;
	line[6].h = 90;
	line[7].h = 0;
	line[8].h = -1;
	int i;
	for(i = 0; i< 9; i++)
		printf("%d ", line[i].h);
	printf("\n");
	qsort(line, 9, sizeof(dot), cmp);
	for(i = 0; i< 9; i++)
		printf("%d ", line[i].h);
	printf("\n");
	return 0;
}

你可能感兴趣的:(C++,c,C#)