qq842475455 2019-08-15 08:48 采纳率: 66.7%
浏览 280
已结题

冒泡排序无法将数组排成有序序列

#include
#include
void BuddleSort(int a[], int n);
int main() {
int a[10] = { 7,4,3,2,8,1,0 };
int length = sizeof(a) / sizeof(int);
BuddleSort(a,length);
for (int i = 0; i < length; i++) {
printf("%d", a[i]);
}
}
void BuddleSort(int a[], int n) {
bool exchange;
for (int i = 0; i < n; i++) {
exchange = false;
for (int j = n-1; j > i; j--) {
if (a[j] < a[j - 1]) {
int temp = a[j];
a[j] = a[j - 1];
a[j - 1] = temp;
exchange = true;
}
}
exchange ==false;
return;
}
}
无法正确排序

  • 写回答

4条回答 默认 最新

  • threenewbee 2019-08-15 09:22
    关注

    exchange ==false;
    这时要干嘛,判断没有if,赋值应该用 = ,写在这里也不能传入主程序。

    return也是多余

    正确写法

    void BuddleSort(int a[], int n);
    int main() {
        int a[] = { 7,4,3,2,8,1,0 };
        int length = sizeof(a) / sizeof(int);
        BuddleSort(a,length);
        for (int i = 0; i < length; i++) {
            printf("%d ", a[i]);
        }
    }
    void BuddleSort(int a[], int n) {
        for (int i = 0; i < n; i++) {
            for (int j = n-1; j > i; j--) {
                if (a[j] < a[j - 1]) {
                    int temp = a[j];
                    a[j] = a[j - 1];
                    a[j - 1] = temp;
                }
            }
        }
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?