博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【C语言】冒泡法排序
阅读量:4291 次
发布时间:2019-05-27

本文共 732 字,大约阅读时间需要 2 分钟。

1.冒泡算法:

思路如图所示(图片来自bilibili UP:)

解释:冒泡算法的思路通俗一点就是每次将自己想要的数(最大值和最小值)放到数组的最后一位,然后每次循环n-1项就可以达到排序的目的了。

代码如下: 

#include "stdio.h"void Bubble(int arr[],int n); //声明冒泡算法函数void sort(int srr[],int n);//声明检索排序数列函数int main(){	int i,lenght;	int arr[] = {1,4,5,3,2};//赋值排列数组	lenght = sizeof(arr)/sizeof(int);//计算数组元素	sort(arr,5);//调用检索排序	for(i = 0; i < lenght;i++){//输出结果		printf("%d\n",arr[i]);	}}void sort(int arr[],int n){//每次冒泡算法执行完毕,最小的数将会移动到最后一位。每次只需要检索n-1 的数组元素即可,故写以下算法	int i;	for(i = n;i > 1;i--){		Bubble(arr,i);//5,4,3,2,1	}	}void Bubble(int arr[], int n){	int i,temp;	for(i = 1;i < n;i++){//每次检索由排序传来的n个数组元素,对其进行调换位置,将最小的放到最后一个元素		if(arr[i] > arr[i-1]){			temp = arr[i];//调换位置的通用算法			arr[i] = arr[i-1];			arr[i-1] = temp;		}	}}

结果如下:

你可能感兴趣的文章
C++操作Redis数据库
查看>>
python yield用法
查看>>
python pipe模块用法
查看>>
安装完 MySQL 后必须调整的 10 项配置
查看>>
开发者必备的 12 个 JavaScript 库
查看>>
http错误码
查看>>
python 多线程
查看>>
sipp命令 各参数含义
查看>>
搜集的动植物分类、检索网站
查看>>
ffmpeg源码分析之媒体打开过程
查看>>
Ubuntu/centos/redhat/SUSE sipp安装(带rtp支持,3.5.1版本)
查看>>
周鸿祎:很多程序员聪明,但我一看就知道他不会成功
查看>>
编译程序遇到问题 relocation R_X86_64_32 against `.rodata' can not be used when making a shared object;
查看>>
Const指针 、 指向const的指针 、引用、指针
查看>>
GDB调试命令
查看>>
常见数据类型的字节数
查看>>
gcc/g++ 编译常见问题
查看>>
【设计模式】 工厂模式实例 C++ , 利用工厂模式写一个计算器
查看>>
opencv
查看>>
【图像处理】 一、OSTU分割
查看>>