精挑細選(利用結構體)
阿新 • • 發佈:2018-11-30
- #include<stdio.h>
- #include<stdlib.h>
- struct Node
- {
- int x;
- int y;
- int z;
- }m[1000];
-
- int cmp(const void *p1,const void *p2)
- {
- struct Node *c=(Node *)p1;
- struct Node *d=(Node *)p2;
- if(c->x!=d->x)
- else if(c->y!=d->y) return c->y-d->y;//二級由小到大排序
- else return d->z-c->z;
- }
- int main()
- {
- int t,s;
- scanf("%d",&t);
- while(t--)
- {
- scanf("%d",&s);
- for(int i=0;i<s;i++)
- {
- scanf("%d %d %d",&m[i].x,&m[i].y,&m[i].z); //將資料存入對應結構體//
- }
- qsort(m,s,sizeof(m[0]),cmp); //排序從嗎【0】->sizeof(a[0])//
- printf("%d\n",m[0].z);
- }
- return 0;
- }
選擇使用結構體雖然是複雜了問題,但可以加深對陣列結構體的瞭解,