diff --git a/Algorithm/CountSort.cpp b/Algorithm/CountSort.cpp index a3666a9..159e811 100644 --- a/Algorithm/CountSort.cpp +++ b/Algorithm/CountSort.cpp @@ -32,19 +32,19 @@ void CountSort(vector& vecRaw, vector& vecObj) // 使用 vecRaw 的最大值 + 1 作为计数容器 countVec 的大小 int vecCountLength = (*max_element(begin(vecRaw), end(vecRaw))) + 1; - vector countVec(vecCountLength, 0); + vector vecCount(vecCountLength, 0); // 统计每个键值出现的次数 for (int i = 0; i < vecRaw.size(); i++) - countVec[vecRaw[i]]++; + vecCount[vecRaw[i]]++; // 后面的键值出现的位置为前面所有键值出现的次数之和 for (int i = 1; i < vecCountLength; i++) - countVec[i] += countVec[i - 1]; + vecCount[i] += vecCount[i - 1]; // 将键值放到目标位置 for (int i = vecRaw.size(); i > 0; i--) // 此处逆序是为了保持相同键值的稳定性 - vecObj[--countVec[vecRaw[i - 1]]] = vecRaw[i - 1]; + vecObj[--vecCount[vecRaw[i - 1]]] = vecRaw[i - 1]; } int main() @@ -57,6 +57,6 @@ int main() for (int i = 0; i < vecObj.size(); ++i) cout << vecObj[i] << " "; cout << endl; - + return 0; } \ No newline at end of file