我需要一個程序來排序整數數組而不使用條件語句。數字在0到100的範圍內,不要重複。無條件排序數組
#include <iostream>
using namespace std;
int main() {
int arr[] = { 34, 12, 24, 65, 63, 22 };
int arraySize = (sizeof(arr)/sizeof(*arr));
unsigned char buf[101] = { 0 };
for (int k = 0; k < arraySize; k++) {
buf[arr[k]]++;
}
unsigned char i = 0;
for (int k = 0; k <= 100; k++) {
arr[i] = k;
i += buf[k];
}
for (int a : arr) {
cout << a << endl;
}
system("pause");
return 0;
}
該程序的作品,但我得到的錯誤命令提示符的成交後:
運行時檢查失敗#2 - 圍繞堆棧變量「改編」已損壞。
有沒有辦法解決它?
你正在使用哪種編譯器? 「作品」 – Tejendra
可能有點強大。 –
你正在寫出某處的界限。使用調試器並逐行瀏覽代碼,同時關注變量及其值。 –