美文网首页
对二维数组排序,按照第三列进行排序

对二维数组排序,按照第三列进行排序

作者: blue__sky | 来源:发表于2017-11-09 16:52 被阅读0次
#include<iostream>
#include<iomanip>
#include<cstdio>
using namespace std;
int compare(const void* x,const void* y)//按照第三列排序,二维数组,按照哪一列排序,就把【2】改为【n-1】
{
    if(((double*)y)[2] > ((double*)x)[2] ) return +1;
    if(((double*)y)[2] < ((double*)x)[2] ) return -1;
    else return 0;
}
int main()
{
    int m;
    cin>>m;
    double a[25][3];
    for(int i=0;i<m;i++)
    {
        cin>>a[i][0]>>a[i][1]>>a[i][2];
    }
    qsort(a,m,sizeof(a[0]),&compare);//按照第三列排序
    for(int i=0;i<m;i++)
         cout<<a[i][0]<<' '<<a[i][1]<<' '<<a[i][2]<<endl;
        return 0;
}

或者 对整型二维数组第三列排序

#include<iostream>
#include<iomanip>
#include<cstdio>
using namespace std;
int compare(const void *x,const void *y)//按照第三列升序排序,二维数组,按照哪一列排序,就把【2】改为【n-1】
{
    return ((int*)x)[2] - ((int*)y)[2];
}
int main()
{
    int m;
    cin>>m;
    int a[25][3];
    for(int i=0;i<m;i++)
    {
        cin>>a[i][0]>>a[i][1]>>a[i][2];
    }
    qsort(a,m,sizeof(int)*3,compare);//按照第三列排序,一共n列,就sizeof(int)*n;
    for(int i=0;i<m;i++)
         cout<<a[i][0]<<' '<<a[i][1]<<' '<<a[i][2]<<endl;
        return 0;
}

或者对一维数组排序

#include<iostream>
#include<iomanip>
#include<cstdio>
using namespace std;
int compare(const void *x,const void *y)//一维数组排序 升序
{
    return *(int*)x - *(int*)y;
}
int main()
{
    int m;
    cin>>m;
    int a[25];
    for(int i=0;i<m;i++)
    {
        cin>>a[i];
    }
    qsort(a,m,sizeof(int),compare);
    for(int i=0;i<m;i++)
         cout<<a[i]<<' '<<endl;
    return 0;
}

参考网址:http://blog.csdn.net/eastmount/article/details/49039741

相关文章

  • 对二维数组排序,按照第三列进行排序

    或者 对整型二维数组第三列排序 或者对一维数组排序 参考网址:http://blog.csdn.net/eas...

  • PHP一些常用到的工具方法(有问题欢迎反馈)

    1、二维数组按照指定字段排序 /***排序二维数组*@param$arrUsers 排序数组*@params...

  • 剑指Offer(一)

    二维数组中的查找 题目 在二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序,判断...

  • PHP二维数组按照指定的顺序排序

    需要排序的数组会按照输入的排序数组顺序重新排序 排序的字段在二维数组中出现多条时,在按照顺序排序的同时,相同的几条...

  • 2020-04-23

    二维数组的查找 题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请...

  • 数组

    二维数组查找题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完...

  • 剑指offer1-3题总结

    1 二维数组中的查找 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请...

  • 004,二维数组中的查找

    二维数组中的查找题目描述在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。...

  • 3月备忘(3)--截至3.18

    1 二维数组中的查找。在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请...

  • 牛客剑指offer习题解答

    题1 二维数组中的查找在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请...

网友评论

      本文标题:对二维数组排序,按照第三列进行排序

      本文链接:https://www.haomeiwen.com/subject/veicextx.html