首先,这是一个家庭作业。我正在尝试在 C++ 中使用偏移量创建一些气泡排序函数。该函数必须采用带有计数元素的偏移量的数组输入。
例如:a[5] = {90, 9, 2, 10, 5}
-> bubbleSort(a, 1, 4)
->{90, 2, 5, 9, 10}
目前这是我的代码的样子:
void bubbleSort(int arr[], int offset, int count) {
bool swapped = true;
int pivot = offset;
while (swapped) {
swapped = false;
pivot++;
for (offset ; offset < count - pivot; offset ++) {
if (arr[offset] > arr[offset+1]) {
arr[offset] ^= arr[offset+1];
arr[offset+1] ^= arr[offset];
arr[offset] ^= arr[offset+1];
swapped = true;
}
}
}
}
我认为我的偏移量检查超出了索引,你能告诉我哪里出错了吗?