当前位置:网站首页>C language bubble sort
C language bubble sort
2022-07-06 05:51:00 【bit..】
Bubble sort (Bubble Sort) It is also a simple and intuitive sorting algorithm . It repeatedly visits the sequence to be sorted , Compare two elements at a time , If they're in the wrong order, exchange them . The job of the interview sequence is to repeat until there is no need to exchange , That is to say, the sequence has been sorted . The name of this algorithm comes from the fact that the smaller the elements, the more slowly " floating " Go to the top of the list .
As one of the simplest sorting algorithms , Bubble sorting makes me feel like Abandon It feels the same in a word book , Every time on the first page , So most familiar with . Bubble sorting also has an optimization algorithm , It's about making a flag, When elements are not exchanged in a sequence traversal , It is proved that the sequence has been ordered . But this improvement doesn't do much to improve performance .
1. Algorithm steps
Compare adjacent elements . If the first one is bigger than the second one , Just swap them .
Do the same for each pair of adjacent elements , From the beginning of the first couple to the end of the last couple . After this step , The last element will be the maximum number .
Repeat the above steps for all elements , Except for the last one .
Keep repeating the above steps for fewer and fewer elements each time , Until there's no pair of numbers to compare .
2. Dynamic diagram demonstration

3. When is the fastest
When the input data is already in positive order .
4. When is the slowest
When the input data is in reverse order ( Write a for It's OK to output data in reverse order )
5. Code implementation ( From big to small )
#include<stdio.h>
void Bubble_sort(int arr[], int size)
{
int i, j, tmp;
for (i = 0; i <= size - 1; i++)
{
for (j = 0; j <= size - 1 - i; j++)
{
if (arr[j] < arr[j + 1]) // If you want to arrange from small to large, just put '<' Change to '>' That is to say
{
tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
}
int main()
{
int arr[5], i;
printf(" Please enter five numbers :");
for (i = 0; i < 5; i++)
{
scanf_s("%d", &arr[i]);
}
printf(" Array before arrangement :");
for (i = 0; i < 5; i++)
{
printf("%d", arr[i]);
}
printf("\n");
printf(" Sorted array :");
Bubble_sort(arr, 5);
for (i = 0; i < 5; i++)
{
printf("%d", arr[i]);
}
return 0;
}
边栏推荐
- 养了只小猫咪
- Station B, Master Liu Er - dataset and data loading
- Node 之 nvm 下载、安装、使用,以及node 、nrm 的相关使用
- 应用安全系列之三十七:日志注入
- Hongliao Technology: how to quickly improve Tiktok store
- Pytorch代码注意的细节,容易敲错的地方
- Easy to understand IIC protocol explanation
- How to use PHP string query function
- Text classification still stays at Bert? The dual contrast learning framework is too strong
- Auto.js学习笔记17:基础监听事件和UI简单的点击事件操作
猜你喜欢

Node 之 nvm 下载、安装、使用,以及node 、nrm 的相关使用

RustDesk 搭建一个自己的远程桌面中继服务器
[email protected] raspberry pie"/>[email protected] raspberry pie

What is independent IP and how about independent IP host?

Installation de la Bibliothèque de processus PDK - csmc

Station B Liu Erden softmx classifier and MNIST implementation -structure 9
![[Jiudu OJ 08] simple search x](/img/a7/12a00c5d1db2deb064ff5f2e83dc58.jpg)
[Jiudu OJ 08] simple search x

B站刘二大人-线性回归及梯度下降

Game push image / table /cv/nlp, multi-threaded start

Garbage collector with serial, throughput priority and response time priority
随机推荐
Easy to understand IIC protocol explanation
Pytorch代码注意的细节,容易敲错的地方
SequoiaDB湖仓一体分布式数据库2022.6月刊
H3C防火墙RBM+VRRP 组网配置
Text classification still stays at Bert? The dual contrast learning framework is too strong
Go language -- language constants
【经验】win11上安装visio
Cannot build artifact 'test Web: War expanded' because it is included into a circular depend solution
PDK工艺库安装-CSMC
[email protected]树莓派
Node 之 nvm 下载、安装、使用,以及node 、nrm 的相关使用
【论文代码】SML部分代码阅读
Station B Liu Erden - linear regression and gradient descent
After the project is released, index Html is cached
授予渔,从0开始搭建一个自己想要的网页
29io stream, byte output stream continue write line feed
[experience] install Visio on win11
28io stream, byte output stream writes multiple bytes
05. Security of blog project
Application Security Series 37: log injection
