對結構體使用快排的一個例題
題意:是把顏色由多到少進行排序,從大到小的輸出。
案例:
Sample Input
3
3
red 1
green 2
yellow 3
1
blue 83
2
red 2
white 1
Sample Output
yellow green red
blue
red white
#include <iostream> #include <cstdio> #include <algorithm> using namespace std; struct node{ char ch[110]; int num;}s[110]; bool cmp(node a,node b) { return a.num>b.num; } int main() { int t; scanf("%d",&t); while (t--) { int n; scanf("%d",&n); for (int i=0;i<n;i++) { scanf("%s%d",s[i].ch,&s[i].num); } sort(s,s+n,cmp); for (int i=0;i<n;i++) { printf("%s%c",s[i].ch,i!=n-1?' ':'\n'); } } return 0; }
這裡利用結構體通過對顏色的數量排序,在輸出最多個數對應的顏色
另外在這裡學到了一種控制空格與輸出的方式。
相關推薦
對結構體使用快排的一個例題
題意:是把顏色由多到少進行排序,從大到小的輸出。 案例: Sample Input 3 3 red 1 green 2 yellow 3 1 blue 83 2 red 2 white 1 Sample Output yellow green red blue red w
水果,一道對結構體排序的水題
呵呵 print mes problem net 空行 沒有 scanf http 題目鏈接:https://vjudge.net/contest/161356#problem/E 夏天來了~~好開心啊,呵呵,好多好多水果~~ Joe經營著一個不大的水果店.他認為生存之道就
sort函式對結構體的排序
sort對結構體的排序,需要自定義排序規則,例:需要根據結構體內的某個變數對結構體陣列進行排序 struct fj { int a,b; double c; }f[1005]; bool cmp(fj a,fj b)//fj就是結構體名 { return a.c>
使用offsetof對結構體指標偏移操作
題目來自於COMP20003 Tutorial 2: Program m ing Challenge 2.2 The technology stack at Hidebound Inc. uses a subset of C w hich doesn't have the '.' or '->'ope
使用offsetof對結構體指針偏移操作
cast note argc b- .com main 替換 creation tof 題目來自於COMP20003 Tutorial 2: Program m ing Challenge 2.2 The technology stack at Hidebound Inc.
C++:對結構體中字元陣列賦值時,出現表示式必須是可修改的左值的問題
問題描述: 在C++中為結構體中的字元陣列賦值時,出現”表示式必須是可修改的左值“的錯誤提醒,編譯報錯“不可指定資料型別”。 &n
C++ STL之deque對結構體的增加,刪除,排序的操作
****************deque的用法******************************** c.assign(beg,end) 將[beg; end)區間中的資料賦值給c。 c.assign(n,elem)
C語言用結構體給另一個同類型結構體賦值: 用等號即可
看到很多C程式碼的結構體賦值都是用memcpy函式來拷貝,其實根本不需要,用等號直接賦值即可。結構體描述的是的一塊連續記憶體的記憶體佈局,同類型的一個結構體變數給另一個結構體變數賦值,使用等號編譯不會有任何問題,其效果顯然也和人直覺認為的一樣,拷貝對應記憶體。
go語言----對結構體進行排序
package main import "fmt" type myStruct struct { Sid int //使用者sid NN string Score int64
sort對結構體進行排序
std::sort()函式的功能很強大,且可以對類,結構體等元素進行排序。首先來看看std中的快速排序演算法sort的使用方法: template <class RandomAccessIterator, class Compare> void sort (
sort對結構體排序
用sort對結構體進行排序步驟如下1.先寫c++標頭檔案# include<iostream># include<algorithm> //這個是sort的標頭檔案 using namespace std; 2.定義一個結構體eg:struct nod
C語言:對結構體變數進行氣泡排序
C語言:對結構體變數進行氣泡排序 我是一名在校大學生,初次寫部落格,希望各位大佬不喜勿噴,這個小程式,僅供參考,希望對大家有所幫助。 分析題意: 1.定義結構體變數,並給變數賦值 2.使用氣泡排序進行排序。 定義: 1.Input()函式,接收使用者輸入的值。 2.Output()函
ACM零起點2017-7-25(sort用過載運算子對結構體排序)
上篇文章http://blog.csdn.net/ccnuacmhdu/article/details/76039759 已經用寫cmp函式的方式實現sort對結構體的 排序,下面是通過過載運算子的方式實現sort對結構體進行排序 #include<cstdio&g
Java中如何實現結構體?如何對結構體進行排序?
***今天在做老師佈置的程式設計題時,遇到了本題。感覺這道題如果用C++來解決的話,用結構體比較好吧!哈哈哈,可能還有其他的好方法,但我目前想到的是用結構體來解決比較合理。Java中有結構體嗎?如果有,它是如何實現的呢?例項和解決方法見下。(前面是Java中有關結構體的一些知
list用remove實現對結構體成員的刪除
1、使用list,首先要包含list.h標頭檔案,並使用std名稱空間 在標頭檔案中增加如下兩行說明: #include <list>using namespace std; 2、定義結構體,需要在結構體裡寫判斷“==”函式,如下所列,這裡重寫的
對結構體初始化
對結構體 struct a { int b; int c; } 有幾種初始化方式: struct a a1 = { .b = 1, .c = 2 }; 或者 struct a a1 = { b:1, c:2 } 或者 struct a a1 =
C++使用sort通過cmp實現對結構體的排序
#include <stdio.h> #include<iostream> #include <string.h> #include<stdlib.h>
關於Go語言,自定義結構體標籤的一個妙用.
在Go中首字母大小寫,決定著這此變數是否能被外部呼叫, 例如:在使用標準庫的json編碼自定一的結構的時候: <pre style="margin-top: 0px; margin-bottom: 0px;"><span style=" font-weig
c語言 結構體(及相關例題)
定義結構 為了定義結構,您必須使用 struct 語句。struct 語句定義了一個包含多個成員的新的資料型別,struct 語句的格式如下: struct Student { int sno; char name[20]; char cname[20]; …
常用演算法模板集1【快速冪】;【歸併】+【逆序對】;【快排】附md語法
常用演算法模板集1 【快速冪】 int pow(int w,int q,int u) //快速冪 { int r=1; while(q>0)