目录
冒泡排序,假设我们将一串数字,我们将每个数字看成一个水泡,大水泡下沉,小水泡上升。
换句话说:将一行无序的数字排成一行,从第一个数字开始不断地与后面数字进行比较,若大于交换位置,若小于则不变并选择其后面一个数字与剩下数字比较,重复操作直到排序完全。
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
#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]);
}
}