C语言 — 冒泡排序

简介: 前言冒泡排序:实现一个对整形数组的排序使用冒泡排序对数组进行升序排序[c语言代码]代码程序在文章末尾如果有帮助,还请各位小伙伴多多点赞关注收藏,后期会持续进行更新!!!

目录

前言

什么是冒泡排序

代码思路讲解(逐步讲解)

使用冒泡排序的次数

第一趟冒泡排序

第二趟冒泡排序

运行结果

代码实现


什么是冒泡排序


image.png

(小编很懒~~~)


代码思路讲解(逐步讲解)


使用冒泡排序的次数

image.png

要进行9趟冒泡排序 ,用for循环语句进行,代码如下


inti=0;
intsz=sizeof(arr) /sizeof(arr[0]);//对数组元素计算 sz=10for (i=0; i<sz-1; i++)//数组里有10个元素,要进行9套冒泡排序    {
//这里是一趟冒泡循环代码    }


第一趟冒泡排序

image.png

(这里用有序数组进行讲解,方便进行理解)

image.png

inti=0;
intsz=sizeof(arr) /sizeof(arr[0]);//对数组元素计算 sz=10for (i=0; i<sz-1; i++)//数组里有10个元素,要进行9套冒泡排序    {
intj=0;
for (j=0; j<sz-1-i ; j++)//第一套冒泡排序要进行9次,第二套8次,用减i来进行递减;        {
if (arr[j] >arr[j+1])
            {
inttem=arr[j];
arr[j] =arr[j+1];
arr[j+1] =tem;
            }
        }
    }

第二趟冒泡排序

image.png

image.png

...

以下依次冒泡排序进行少一次交换


运行结果

image.png


代码实现

【编译器vs2019】


#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>voidmpao(intarr[10],intsz)
{
inti=0;
for (i=0; i<sz-1; i++)//数组里有10个元素,要进行9套冒泡排序    {
intj=0;
for (j=0; j<sz-1-i ; j++)//第一套冒泡排序要进行9趟,第二套8趟,用减i来进行递减;        {
if (arr[j] >arr[j+1])
            {
inttem=arr[j];
arr[j] =arr[j+1];
arr[j+1] =tem;
            }
        }
    }
 }
intmain()
{
intarr[10] = {0};
inti=0;
intsz=sizeof(arr) /sizeof(arr[0]);
for (i=0; i<sz; i++)
    {
scanf("%d", &arr[i]);
    }
mpao(arr,sz);
for (i=0; i<sz; i++)
    {
printf("%d ", arr[i]);
    }
return0;
}


目录
相关文章
|
4月前
|
C语言
【C语言】拿捏冒泡排序(图解)
【C语言】拿捏冒泡排序(图解)
|
4月前
|
搜索推荐 算法 C语言
C语言:冒泡排序
C语言:冒泡排序
|
4月前
|
Java C语言
用Java(C语言也可以看)实现冒泡排序和折半查找(详细过程图)+逆序数组
用Java(C语言也可以看)实现冒泡排序和折半查找(详细过程图)+逆序数组
52 0
|
2月前
|
搜索推荐 C语言
C语言冒泡排序(附源码和动态图)
冒泡排序是一种简单的排序算法,其基本思想是通过重复遍历待排序的数列,比较每对相邻元素的值,如果它们的顺序错误(即满足一定的排序条件,如从小到大排序时前一个元素大于后一个元素),就交换它们的位置。这个过程就像水底的气泡一样逐渐向上冒,因此得名“冒泡排序”。
|
3月前
|
算法 搜索推荐 C语言
C语言冒泡排序介绍
C语言冒泡排序介绍
|
3月前
|
C语言
C语言----冒泡排序
C语言----冒泡排序
|
4月前
|
存储 C语言
C语言初阶④(数组)知识点+编程作业(三子棋,冒泡排序)(下)
C语言初阶④(数组)知识点+编程作业(三子棋,冒泡排序)
32 1
|
3月前
|
搜索推荐 前端开发 C语言
C语言探索:冒泡排序的实现与解读
C语言探索:冒泡排序的实现与解读
54 0
|
4月前
|
算法 C语言 C++
C语言进阶:冒泡排序函数初步实现
C语言进阶:冒泡排序函数初步实现
41 0
|
4月前
|
存储 C语言
C语言初阶④(数组)知识点+编程作业(三子棋,冒泡排序)(上)
C语言初阶④(数组)知识点+编程作业(三子棋,冒泡排序)
34 0