2301_78364727 2023-09-21 12:57 采纳率: 90.9%
浏览 19
已结题

c++数据结构与算法问题

实验任务:分别用迭代算法、递归算法实现整数的冒泡排序。
实验步骤: 使用经典冒泡排序算法实现对个数不确定的整数元素进行排序,整数元素可分为以下两种情况:数据元素大小随机排列;数据元素为逆序排列。整数个数长度为1000,10000,分别比较以上不同数据元素分布情况下不同长度整数元素排序的运算时间。提示:c++的头文件ctime/time.h中的库函数clock()提供了测试函数运行时间的方法。

img


实验结果:1、给出不同情况下冒泡算法消耗的运算时间情况截图。2、试将获得的实验结果与冒泡排序算法的理论时间复杂度进行比

  • 写回答

6条回答 默认 最新

  • Minuw 2023-09-21 13:04
    关注

    参考gpt
    以下是用迭代算法和递归算法实现整数的冒泡排序的示例代码:

    迭代算法实现冒泡排序:

    #include <iostream>
    #include <ctime>
    
    void bubbleSort(int arr[], int n) {
        for (int i = 0; i < n-1; i++) {
            for (int j = 0; j < n-i-1; j++) {
                if (arr[j] > arr[j+1]) {
                    int temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
    }
    
    int main() {
        const int size = 1000;
        int arr[size];
    
        // 初始化数组,可以根据需要进行修改
    
        // 计算运行时间
        clock_t start = clock();
        bubbleSort(arr, size);
        clock_t end = clock();
    
        // 输出运行时间
        double timeTaken = double(end - start) / CLOCKS_PER_SEC;
        std::cout << "运行时间:" << timeTaken << "秒" << std::endl;
    
        return 0;
    }
    

    递归算法实现冒泡排序:

    #include <iostream>
    #include <ctime>
    
    void bubbleSortRecursive(int arr[], int n) {
        if (n == 1)
            return;
    
        for (int i = 0; i < n-1; i++) {
            if (arr[i] > arr[i+1]) {
                int temp = arr[i];
                arr[i] = arr[i+1];
                arr[i+1] = temp;
            }
        }
    
        bubbleSortRecursive(arr, n-1);
    }
    
    int main() {
        const int size = 1000;
        int arr[size];
    
        // 初始化数组,可以根据需要进行修改
    
        // 计算运行时间
        clock_t start = clock();
        bubbleSortRecursive(arr, size);
        clock_t end = clock();
    
        // 输出运行时间
        double timeTaken = double(end - start) / CLOCKS_PER_SEC;
        std::cout << "运行时间:" << timeTaken << "秒" << std::endl;
    
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 系统已结题 9月29日
  • 已采纳回答 9月21日
  • 专家修改了标签 9月21日
  • 创建了问题 9月21日

悬赏问题

  • ¥100 matlab2009 32位一直初始化
  • ¥15 Expected type 'str | PathLike[str]…… bytes' instead
  • ¥15 为什么在iis上部署网站,服务器可以访问,但是本地电脑访问不了
  • ¥15 三极管电路求解,已知电阻电压和三级关放大倍数
  • ¥15 ADS时域 连续相位观察方法
  • ¥15 Opencv配置出错
  • ¥15 关于模型导入UNITY的.FBX: Check external application preferences.警告。
  • ¥15 气象网格数据与卫星轨道数据如何匹配
  • ¥100 java ee ssm项目 悬赏,感兴趣直接联系我
  • ¥15 微软账户问题不小心注销了好像