私は昇順に配列をソートしようとしていますし、私のコードで何が間違っているのか分かりません(私はベクトルに全く触れていません)。最初に入力配列(データ)をSTLベクトルにコピーし、次にSTLのソートアルゴリズムをベクトルに適用し、最後にベクトルを配列にコピーして戻す必要があります。
void STLSort(int data[],int size)
{
vector a1;
a1.reserve(size);
for(int i=0;i
ありがとう。
ベストアンサー
範囲を直接ソートすることができます:
void sort_me(int * arr, unsigned int size)
{
std::sort(arr, arr + size);
}
int main()
{
int a[] = { 3, 11, 7 };
sort_me(a, sizeof(a)/sizeof(int));
//or even just in-place:
int b[] = { 12, -1, 88, 0 };
std::sort(b, b + sizeof(b)/sizeof(int));
}
さらにヒップ:テンプレート:
template
void sort_me_v2(T (&arr)[N])
{
std::sort(arr, arr + N);
}
int main()
{
int c[] = { -1, 2, -3, 4 };
sort_me_v2(c);
}