C 基于第一个数组元素对文件进行排序

C 基于第一个数组元素对文件进行排序,c,arrays,sorting,C,Arrays,Sorting,我有一个(二进制)文件,它有6个元素数组的多个条目。因此,文件的结构如下所示: {1 2 12 18 22 0} {11 17 20 19 20 7} {3 9 18 24 0 9}... 我在组成一个数组的元素周围放了括号。我只想根据每个数组的第一个元素对文件进行排序,因此排序后的文件应为 {1 2 12 18 22 0} {3 9 18 24 0 9} {11 17 20 19 20 7}... 我该怎么做呢 将文件读入二维数组。第一维度上的每个元素应包含六个元素 为qsort实现比较功

我有一个(二进制)文件,它有6个元素数组的多个条目。因此,文件的结构如下所示:

{1 2 12 18 22 0} {11 17 20 19 20 7} {3 9 18 24 0 9}...
我在组成一个数组的元素周围放了括号。我只想根据每个数组的第一个元素对文件进行排序,因此排序后的文件应为

{1 2 12 18 22 0} {3 9 18 24 0 9} {11 17 20 19 20 7}...
我该怎么做呢

  • 将文件读入二维数组。第一维度上的每个元素应包含六个元素
  • qsort
    实现比较功能
  • 在比较函数中使用
    qsort
    ,对数组进行排序
  • 将数组写回文件
  • #包括
    #包括
    #包括
    #包括
    使用名称空间std;
    int main(){
    向量v;
    向量t;
    t、 推回(4);
    t、 推回(5);
    t、 推回(6);
    v、 推回(t);
    t、 清除();
    t、 推回(1);
    t、 推回(2);
    t、 推回(3);
    v、 推回(t);
    排序(v.begin(),v.end());
    对于(int i=0;i你知道每个元素是如何序列化的吗(例如,表示为一个字节序列)?例如,每个元素是否不大于255并存储为单个字节(例如,总文件大小可被6整除)@ FrReCiRabe-每个元素是一个4字节整数。问题是标记C;这个答案是用C++编写的。它显示了语言之间的差异,但是没有回答问题。
    
    #include<stdio.h>
    #include<vector>
    #include<algorithm>
    #include<iostream>
    using namespace std;
    
    int main () {
    
        vector < vector<int> > v;
        vector <int> t;
    
        t.push_back(4);
        t.push_back(5);
        t.push_back(6);
        v.push_back(t); 
        t.clear();
        t.push_back(1);
        t.push_back(2);
        t.push_back(3);
        v.push_back(t);
    
        sort(v.begin(),v.end());
    
        for (int i = 0; i < v.size(); i++){
            for (int j = 0; j < v[i].size(); j++){
                 cout << v[i][j] << " ";
            }
            cout << endl;
        }
    
    
    
        return 0;
    
    }