【发布时间】:2016-04-04 20:24:21
【问题描述】:
您好,我正在尝试计算大小为 N 的数组中的冒泡排序交换次数,但我想在不使用冒泡排序的情况下进行,我听说过合并排序,有人已经告诉我它是某种合并排序修改...我不想使用这个基本算法>
void bubbleSort(int * array, int size){
for(int i = 0; i < size - 1; i++){
for(int j = 0; j < size - i - 1; j++){
if(array[j+1] < array[j]){
int tmp = array[j + 1];
array[j + 1] = array[j];
array[j] = tmp;
}
}
}
}
你们中有人有想法吗?
【问题讨论】:
-
将要计算交换次数的数组内容复制到另一个数组中,然后对该数组执行冒泡排序。
-
无论你做什么,我真的建议你不要尝试编写多语言源文件。坚持使用 C 或 C++ 之一。编写多语言源文件是一项艰苦的工作,并且提供的任何优势(如果有的话)都是微乎其微的。
-
由于你是用 C++ 编程,我建议你使用
std::swap。 C语言没有这个特性。 -
@Tomas:为什么你不想执行 bouble 排序?为了不破坏您的数据,还是出于性能原因?
-
C 和 C++ 是不同的语言。选一个!