C语言实现冒泡排序算法

简介: C语言实现冒泡排序算法

C语言实现冒泡排序算法

冒泡排序算法原理

冒泡排序是一种简单的排序算法,其基本思想是通过相邻元素之间的比较和交换,使得每一趟排序后最大(或最小)的元素被交换到序列的末尾,从而实现对整个序列的排序。

 

下面是一个使用C语言实现冒泡排序算法的示例代码:

 

#include <stdio.h>
 
void bubbleSort(int arr[], int n) {
    int i, j, temp;
    for (i = 0; i < n - 1; i++) {
        for (j = 0; j < n - i - 1; j++) {
            if (arr[j] > arr[j + 1]) {
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}
 
int main() {
    int arr[] = {64, 34, 25, 12, 22, 11, 90};
    int n = sizeof(arr) / sizeof(arr[0]);
    int i;
 
    printf("Original array:\n");
    for (i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");
 
    bubbleSort(arr, n);
 
    printf("Sorted array:\n");
    for (i = 0; i < n; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");
 
    return 0;
}

上述代码中,bubbleSort函数实现了冒泡排序算法。在main函数中,我们定义了一个整型数组arr,并调用bubbleSort函数对其进行排序。最后,我们输出排序前和排序后的数组元素。

我们了解了冒泡排序算法的基本思想,并使用C语言实现了该算法。冒泡排序算法虽然简单易懂,但效率较低,对于大规模数据的排序操作,建议使用更高效的排序算法,如快速排序、归并排序等。

相关文章
|
1月前
|
自然语言处理 算法 搜索推荐
C语言中谈论算法
C语言中谈论算法
10 0
C语言中谈论算法
|
1月前
|
算法 安全 C语言
使用C语言实现DES算法代码
使用C语言实现DES算法代码
|
1月前
|
Java C语言
用Java(C语言也可以看)实现冒泡排序和折半查找(详细过程图)+逆序数组
用Java(C语言也可以看)实现冒泡排序和折半查找(详细过程图)+逆序数组
28 0
|
1月前
|
自然语言处理 算法 搜索推荐
C语言用伪代码表示算法
C语言用伪代码表示算法
29 0
|
18天前
|
存储 算法 搜索推荐
【数据结构与算法】归并排序(详解:递归与非递归的归并排序 | 赠:冒泡排序和选择排序)
【数据结构与算法】归并排序(详解:递归与非递归的归并排序 | 赠:冒泡排序和选择排序)
|
23天前
|
算法 C语言
【算法与数据结构】 C语言实现单链表队列详解2
【算法与数据结构】 C语言实现单链表队列详解
|
23天前
|
存储 算法 C语言
【算法与数据结构】 C语言实现单链表队列详解1
【算法与数据结构】 C语言实现单链表队列详解
|
1月前
|
存储 机器学习/深度学习 算法
C语言代码实现数据结构与算法
以上代码中,哈希表使用链表解决哈希冲突,每个链表节点包含一个键值对。hash函数用于计算键值对应的哈希值,insert函数用于向哈希表中插入一个键值对,若当前位置为空,则直接插入;否则,将新节点插入到链表末尾。search函数用于在哈希表中查找指定键值的值,若存在则返回其值,否则返回-1。
32 1
|
1月前
|
搜索推荐 算法 C语言
C语言排序算法
C语言排序算法
13 0
|
1月前
|
算法 数据处理 C语言
C语言核心之一的算法结构
C语言核心之一的算法结构
14 1