1. 程式人生 > 其它 >Jquery實現簡易計算器

Jquery實現簡易計算器

技術標籤:sort()排序排序演算法

#排序—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;
}

在這裡插入圖片描述