设为首页 加入收藏

TOP

深入浅出理解排序算法之-冒泡排序
2015-07-20 17:35:07 来源: 作者: 【 】 浏览:1
Tags:深入浅出 理解 排序 算法 冒泡

#include


void Swap(int &a,int &b){

int temp;

temp = a;

a = b;

b = temp;

}


/* 冒泡排序

基本思想:第一趟冒泡得到一个关键字最小的记录,第二趟得到次小值...针对每一趟:两两相邻纪录的关键字,如果反序则交换直到没有反序为止

特点:时间效率,总共n-1趟冒泡,对j个记录的表进行一趟冒泡需要j-1次关键字比较,空间效率:仅用一个辅助单元(临时变量)

*/

void BubbleSort(int array[],int len){

int i,j;

for (i =0; i < len -1; i++) { // i:0 ~ len-1 (i++)

for (j = len -1; j > i; j--) { // j:len-1 ~ >i (j--)起最小泡

if (array[j -1] > array[j]) {

Swap(array[j], array[j -1]);

}

}

}

}


int main(int argc,constchar * argv[])

{

int i;

int a[] = {5,4,9,8,7,6,0,1,3,2};

int len =sizeof(a)/sizeof(a[0]);

// 冒泡排序

BubbleSort(a,len);

for (i =0; i < len; i++) {

printf("%d ",a[i]);

}

printf("\n");


return0;

}

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇hdu 2059 龟兔赛跑 (dp) 下一篇ZOJ 3229 Shoot the Bullet

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Java 并发工具类:提 (2025-12-25 20:25:44)
·Java面试技巧:如何 (2025-12-25 20:25:41)
·Java并发编程中的线 (2025-12-25 20:25:38)
·C 语言 - cppreferen (2025-12-25 19:50:27)
·《C 语言入门教程》 (2025-12-25 19:50:23)