Jquery實現簡易計算器
阿新 • • 發佈:2021-01-05
#排序—sort()
使用方式:
(1)需要標頭檔案#include和 using spacename std;
(2)sort(首元素的地址(必填),尾元素地址的下一個地址(必填),比較函式(非必填))
說明:比較函式------cmp
-------------如果不寫比較函式,則預設對給出的區間進行遞增排序
基本資料型別的排序:(int ,double,char)常見的
#include<cstdio>
#include<algorithm>
using namespace std;
bool cmp(int a, int b)
{
return a>b;
}
int main()
{
int a[]={1,3,7,5};
sort(a,a+4,cmp);
for(int i=0;i<4;i++)
{
printf("%d ",a[i]);
}
return 0;
}
結構體陣列的排序
#include<cstdio>
#include<algorithm>
using namespace std;
struct node{
int x,y;
}ssd[6];
bool cmp(node a,node b)//按照x值從大到小對結構體陣列進行排序,需要注意的是y的值會跟x位置的變化而變化
{
return a.x>b.y;
}
int main()
{
ssd[0].x=2;//{2,2}
ssd[0].y=2;
ssd[1].x=1;//{1,3}
ssd[1].y=3;
ssd[2].x=3;//{3,1}
ssd[2].y=1;
sort(ssd,ssd+3,cmp);
for(int i=0;i<3;i++)
{
printf("%d %d\n", ssd[i].x,ssd[i].y);
}
}
如果想先按照x的值由大到小進行排序,但是當x的值相等的情況下,按照y的大小從小到大來排序,那麼cmmp的寫法是:程式碼如下–
bool cmp(node a,node b)
{
if(a.x!=b.x)
{
return a.x>b.y;
}
else
{
return a.y<b.y;
}
}
容器的排序
#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std;
bool cmp(int a,int b)
{
return a>b;
}
int main()
{
vector<int> vi;
vi.push_back(3);
vi.push_back(1);
vi.push_back(2);
sort(vi.begin(),vi.end(),cmp);
for(int i=0;i<3;i++)
{
printf("%d ",vi[i]);
}
return 0;
}
字串的排序
#include<algorithm>
#include<bits/stdc++.h>
#include<string>
using namespace std;
bool cmp(string a,string b)
{
return a>b;
}
int main()
{
string str[3]={"bbb","cc","aaa"};
sort(str,str+3,cmp);
for(int i=0;i<3;i++)
{
cout<<str[i]<<endl;
}
return 0;
}