十大排序—冒泡排序

发布时间:2023年12月25日

目录

冒泡排序

代码实现?

python代码实现:

c语言代码实现

案例:


冒泡排序

冒泡排序,假设我们将一串数字,我们将每个数字看成一个水泡,大水泡下沉,小水泡上升。

换句话说:将一行无序的数字排成一行,从第一个数字开始不断地与后面数字进行比较,若大于交换位置,若小于则不变并选择其后面一个数字与剩下数字比较,重复操作直到排序完全。

代码实现?

python代码实现:
def bubbleSort(arr):
? ? for i in range(1, len(arr)):
? ? ? ? for j in range(0, len(arr)-i):
? ? ? ? ? ? if arr[j] > arr[j+1]:
? ? ? ? ? ? ? ? arr[j], arr[j + 1] = arr[j + 1], arr[j]
? ? return arr
c语言代码实现
#include <stdio.h>
void bubble_sort(int arr[], int len) {
? ? ? ? int i, j, temp;
? ? ? ? for (i = 0; i < len - 1; i++)
? ? ? ? ? ? ? ? for (j = 0; j < len - 1 - i; j++)
? ? ? ? ? ? ? ? ? ? ? ? if (arr[j] > arr[j + 1]) {
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? temp = arr[j];
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? arr[j] = arr[j + 1];
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? arr[j + 1] = temp;
? ? ? ? ? ? ? ? ? ? ? ? }}

案例:

输入任意个数值,在输入一个值指定冒泡循环的次数,输出循环指定次数后的列表。

pthon代码

a = list(input())
b = int(input())
for i in range(1,b+1):
    for j in range(0,len(a)-i):
        if a[j] > a[j+1]:
            a[j],a[j+1]=a[j+1],a[j]

print(a)

c语言代码

#include<stdio.h>
#define N 6
int main()
{
	int a[N];
	int b,i,j;
	for(i=0;i<N;i++)
	{
		scanf("%d",&a[i]);
	}
	for(i=0;i<=b-1;i++)
	{
		for(j=0;j<=N-1-i;j++)
		{
			if(a[i]>a[i+1])
			{
				int temp = a[i];
				a[i]=a[i+1];
				a[i+1]=temp;
			}
		 }
	}
	for(i=0;i<=N;i++)
	{
		printf("%d",&a[i]);
	}
 }

文章来源:https://blog.csdn.net/weixin_74940978/article/details/132789950
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。