C 基于第一个数组元素对文件进行排序
我有一个(二进制)文件,它有6个元素数组的多个条目。因此,文件的结构如下所示: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实现比较功
{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;
}