标签:
void BubbleSort(int array[], int len)
{
int i;
while (len > 0)
{
for(i = 1; i < len; i++) //从array[1]开始比较,循环len-1-i次
{
if (array[i-1] > array[i]) //如果前一个大于后一个,则交换
swap(&array[i - 1], &array[i]);
}
len--;
}
}#FileName:BubbleSort.py
#Python Version:2.7.11
def BubbleSort(array,lenth):
while lenth > 0:
for i in range(1,lenth,1):
if array[i-1] > array[i]:
array[i],array[i-1] = array[i-1],array[i] #swap
#print array
lenth = lenth - 1
return array>>> sortTest = [9,8,7,6,5,4,3,2,1] >>> BubbleSort(sortTest,9) [1, 2, 3, 4, 5, 6, 7, 8, 9] >>>
//BubbleSort.cpp : 定义控制台应用程序的入口点。
//IDE Version : VS2013
#include "stdafx.h"
void swap(int *a, int *b);
void BubbleSort(int array[], int len);
int _tmain(int argc, _TCHAR* argv[])
{
int sortTest[9] = { 9, 8, 7, 6, 5, 4, 3, 2, 1 };
BubbleSort(sortTest, 9);
for (int i = 0; i < 9; i++)
{
printf("%d ", sortTest[i]); //输出1 2 3 4 5 6 7 8 9
}
printf("\n ");
return 0;
}
//数据交换函数
void swap(int *a, int *b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}
//冒泡排序函数
void BubbleSort(int array[], int len)
{
int i;
do
{
for (i = 1; i < len; i++) //从array[1]开始比较,循环len-1-i次
{
if (array[i-1] > array[i]) //如果前一个大于后一个,则交换
swap(&array[i - 1], &array[i]);
}
}while(len--); //把while改成do...while
}标签:
原文地址:http://blog.csdn.net/yannanxiu/article/details/51345754