BubbleSort算法
前言
作者写这篇文章的目的是为了补充网上对于随机输入数据的空缺,因此对于给定已知的一串数字进行排序的代码作者不再编写
BubbleSort算法
作为一种入门的排序算法, 冒泡排序(BubbleSort) 通过比较相邻两个数的大小,按照从大到小或者从小到大的要求来交换他们的位置,直到不再需要交换为止,最终实现数字的按顺序排列.我们可以通过下图来更好地了解其原理.
算法的实现
C语言
#include<stdio.h>
#include<stdlib.h>
void bubbleSort(int arr[], int len)
{
int temp;
int i, j;
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;
}
}
}
}
int main(void)
{
int arr[10];
int i;
printf("请输入十个数字:\n");
for (i = 0; i < 10; i++)
scanf_s("%d", &arr[i]);
bubbleSort(arr, 10);
printf("排序后的结果为:\n");
for (i = 0; i < 10; i++)
printf("%d ", arr[i]);
putchar('\n');
system("pause");
return 0;
}
Python
def BubbleSort(arr):
for i in range(len(arr) - 1):
for j in range(len(arr) - i -1):
if arr[j]>arr[j+1]:
temp=arr[j+1]
arr[j+1]=arr[j]
arr[j]=temp
n=int(input("请输入数字的个数:"))
array=[]
for i in range(n):
temp=int(input("请输入数字:"))
array.append(temp)
BubbleSort(array)
for i in range(len(array)):
print("{:d} ".format(array[i]),end="")