1. 程式人生 > >c++對結構體陣列排序

c++對結構體陣列排序

按結構體中某個成員進行排序,下面程式碼以成員b1為升序的排序

程式碼:

#include<iostream>
#include<algorithm>
using namespace std;
struct st
{
	int a1;
	int b1;
}arr[100];
bool  cmp(const st &x, const st &y)
{
	return x.b1<y.b1;//從小到大排<,若要從大到小排則>
}
int main()
{
	int i;
	for (i=0;i<3;i++)
	  cin>>arr[i].a1>>arr[i].b1;//對結構體進行輸入 
	  sort(arr,arr+3,cmp);
	for (i=0;i<3;i++)
	  cout<<arr[i].a1<<" "<<arr[i].b1<<endl;
}