日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

qsort 三级排序

發(fā)布時(shí)間:2023/12/20 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 qsort 三级排序 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

nyoj ? ? ? ? ? ? ? ? 一種排序

描述
現(xiàn)在有很多長(zhǎng)方形,每一個(gè)長(zhǎng)方形都有一個(gè)編號(hào),這個(gè)編號(hào)可以重復(fù);還知道這個(gè)長(zhǎng)方形的寬和長(zhǎng),編號(hào)、長(zhǎng)、寬都是整數(shù);現(xiàn)在要求按照一下方式排序(默認(rèn)排序規(guī)則都是從小到大);

1.按照編號(hào)從小到大排序

2.對(duì)于編號(hào)相等的長(zhǎng)方形,按照長(zhǎng)方形的長(zhǎng)排序;

3.如果編號(hào)和長(zhǎng)都相同,按照長(zhǎng)方形的寬排序;

4.如果編號(hào)、長(zhǎng)、寬都相同,就只保留一個(gè)長(zhǎng)方形用于排序,刪除多余的長(zhǎng)方形;最后排好序按照指定格式顯示所有的長(zhǎng)方形; 輸入
第一行有一個(gè)整數(shù) 0<n<10000,表示接下來(lái)有n組測(cè)試數(shù)據(jù);
每一組第一行有一個(gè)整數(shù) 0<m<1000,表示有m個(gè)長(zhǎng)方形;
接下來(lái)的m行,每一行有三個(gè)數(shù) ,第一個(gè)數(shù)表示長(zhǎng)方形的編號(hào),

第二個(gè)和第三個(gè)數(shù)值大的表示長(zhǎng),數(shù)值小的表示寬,相等
說(shuō)明這是一個(gè)正方形(數(shù)據(jù)約定長(zhǎng)寬與編號(hào)都小于10000);
輸出
順序輸出每組數(shù)據(jù)的所有符合條件的長(zhǎng)方形的 編號(hào) 長(zhǎng) 寬
樣例輸入
1 8 1 1 1 1 1 1 1 1 2 1 2 1 1 2 2 2 1 1 2 1 2 2 2 1
樣例輸出
1 1 1 1 2 1 1 2 2 2 1 1 2 2 1
來(lái)源
經(jīng)典題目
上傳者
iphxer

cpp:

#include<stdio.h> #include<stdlib.h> #define MAX 1000 #define swap(a,b) {t=a;a=b;b=t;} int t; struct node {int no;int l;int w; }; node a[MAX]; int cmp(const void *a,const void *b) {struct node *c=(node *)a;struct node *d=(node *)b;if(c->no==d->no){if(c->l==d->l){return c->w-d->w;}else return c->l-d->l;}else return c->no-d->no; } int main() {int T;scanf("%d",&T);while(T--){int m,i;scanf("%d",&m);for(i=0;i<m;i++){scanf("%d%d%d",&a[i].no,&a[i].l,&a[i].w);if(a[i].l<a[i].w) swap(a[i].l,a[i].w);}qsort(a,m,sizeof(node),cmp);for(i=0;i<m-1;i++){if(a[i].no==a[i+1].no&&a[i].l==a[i+1].l&&a[i].w==a[i+1].w)continue;printf("%d %d %d\n",a[i].no,a[i].l,a[i].w);}printf("%d %d %d\n",a[m-1].no,a[m-1].l,a[1].w);}return 0; }

總結(jié)

以上是生活随笔為你收集整理的qsort 三级排序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。