我有一個包含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}...
我該如何去做這件事?
我有一個包含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
與您的比較函數對數組進行排序。#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;
}
這個問題被標記爲C;這個答案是用C++編寫的。它顯示了語言之間的差異,但沒有回答這個問題。 –
你知道每個元素是如何序列化的(即表示爲一個字節序列)嗎?例如,每個元素不大於255並存儲爲單個字節(即文件總大小可以被6整除)? –
@FrerichRaabe - 每個元素是一個4字節的整數。 – Kitchi