繁体   English   中英

C++中的冒泡排序算法

[英]Bubble Sort Algorithm in c++

#include <iostream>

using namespace std;

int list [50];
void bsort(int list[], int n);
void printArray(int list[], int n);

int main ()
{
    for (int i = 100; i > 50; i--)
    {
        list[i] = i;
        cout << list[i] << endl;
    }
    int n = sizeof(list) / sizeof(list[0]);
    bsort(list, n);
    printArray(list, n);

  return 0;
}

void bsort(int list[], int n)
{
   int i, j;
        for (i = 0; i <= 48; i++)
        {
            for (j = i+1; j <= 49; j++)
            {
                int temp;
                if (list[i] > list[j])
                {
                    temp = list[i];
                    list[i] = list [j];
                    list[j] = temp;
                }
            }
        }
}
void printArray(int list[], int n)
{
    for (int i = 0; i < n; i++)
        cout << list[i] << " ";
    cout << endl;
}

我正在学习入门级计算机科学课程,目前正在尝试编写一个程序,该程序调用函数“bsort”以递增顺序排列数组“list”的元素,但我的输出是 49 个零,而我不是确定为什么? 我的教授希望我们从 100 开始并以 51 结束(按降序)初始化数组“列表”。

您的初始化循环不正确。 像这样尝试

for (int i = 0; i < 50; i++)
{
    list[i] = 100 - i;
    cout << list[i] << endl;
}

您的版本确实是list[100] = 100, list[99] = 99, etc但数组的大小只有 50。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM