当前位置: 首页 > article >正文

C语言测试题:用冒泡法对输入的10个字符由小到大排序 ,要求数组做为函数参数。

编写一个函数: 用冒泡法对输入的10个字符由小到大排序 ,要求数组做为函数参数。

冒泡排序是一种简单的排序算法,它会多次遍历要排序的数列,

每次遍历时,依次比较相邻的两个元素,如果它们的顺序不符合要求(比如升序排列时前面的元素大于后面的元素),就交换它们的位置

经过一轮遍历后,最大(或最小)的元素就被交换到了数列的末尾。然后再对剩下的未排序元素重复这个过程,直到整个数列都变得有序。

冒泡排序的过程就像气泡在水中不断上浮一样,因此得名冒泡排序。

冒泡排序的算法核心在于通过多次遍历和两两比较交换来逐步将未排序部分中的最大(或最小)元素移动到已排序部分的末尾,从而实现排序。

虽然冒泡排序算法简单直观,但其时间复杂度为O(n^2),在数据量较大时性能较差,通常不适用于大规模数据的排序,但对于简单的教学和理解排序算法原理非常有帮助。

当使用C语言时,你可以编写一个函数来实现冒泡排序算法。以下是一个用C语言编写的冒泡排序函数的示例:


#include <stdio.h>
void bubbleSort(char arr[], int n) {
    int i, j;
    char temp;
    for (i = 0; i < n-1; i++) {
        for (j = 0; j < n-i-1; j++) {
            if (arr[j] > arr[j+1]) {
                // 交换 arr[j] 和 arr[j+1]
                temp = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = temp;
            }
        }
    }
}
int main() {
    char arr[] = {'c', 'a', 'd', 'f', 
    '1', 'h', '4', 'e', 'j', 'i'};
    int n = sizeof(arr) / sizeof(arr[0]);
    bubbleSort(arr, n);
    printf("排序后的结果:\n");
    int i=0; 
    for (i = 0; i < n; i++) {
        printf("%c ", arr[i]);
    }
    return 0;
}

在这个示例中,bubbleSort 函数接受一个字符数组数组长度作为参数,并对数组进行冒泡排序。

然后在 main 函数中,我们定义了一个包含10个字符的数组,并调用 bubbleSort 函数进行排序,最后打印出排序后的结果。


http://www.kler.cn/a/132598.html

相关文章:

  • 运维面试题.云计算面试题集锦之二
  • 游戏引擎学习第16天
  • Mac os 系统上如何开启远程登录的 ssh 22 端口
  • 【快速入门】前端御三家:HTML、CSS和JS
  • leetcode 面试150之 Z 字形变换
  • 父组件提交时让各自的子组件验证表格是否填写完整
  • 流量分析(5.5信息安全铁人三项赛数据赛题解)
  • 一些nginx命令
  • 【机器学习】决策树算法理论:算法原理、信息熵、信息增益、预剪枝、后剪枝、算法选择
  • 键鼠自动化2.0展示
  • php连接sqlserver 安装sqlserver 驱动windows系统
  • C++ 继承和派生
  • VIM去掉utf-8 bom头
  • 软件安利——火绒安全
  • 【C++11】线程库
  • 【算法萌新闯力扣】:找到所有数组中消失对数字
  • 怎样正确做 Web 应用的压力测试?
  • 【js】 lodash命名转换和封装
  • 再次学习高精度
  • Vue3-ref、reactive函数的watch
  • LeetCode 面试题 16.22. 兰顿蚂蚁
  • PaddlePaddle:开源深度学习平台
  • React父组件怎么调用子组件的方法
  • c语言免杀火绒
  • centos7 网卡聚合bond0模式配置
  • vs2017打开工程提示若要解决此问题,请使用以下选择启动 Visual Studio 安装程序: 用于 x86 和 x64 的 Visual C++ MFC