冒泡排序
来源:互联网 发布:java保护代码 编辑:程序博客网 时间:2024/06/03 15:41
#include <stdio.h>
/*
冒泡排序:
思想:
第一个和其他的一次比较,小的到前面(交换),完成一次循环后,最小的已经到了第一个位置
然后,第二个和剩下的一次比较,第二小的到了第二个位置。。。
如此,从小到大的顺序排好。
*/
void BubbleSort(int* arr,int length){
int i,j,tmp;
printf("Array before sorting:\n");
for(i=0;i<length;i++){
printf("%d\t",arr[i]);
}
for(i=0;i<length-1;i++){
for(j=i;j<length;++j){
if(arr[i] > arr[j]){
tmp = arr[j];
arr[j] = arr[i];
arr[i] = tmp;
}
}
}
printf("\nArray after sorting:\n");
for(i=0;i<length;i++){
printf("%d\t",arr[i]);
}
printf("\n");
getchar();
}
int main(void){
int i_arr[] = {12,21,23,32,34,43,45,54,56,65,67,76,78,87,78,89,98,89,90};
int i_arr_size;
i_arr_size = sizeof(i_arr) / sizeof(i_arr[0]);
BubbleSort(i_arr,i_arr_size);
return 0;
}
/*
冒泡排序:
思想:
第一个和其他的一次比较,小的到前面(交换),完成一次循环后,最小的已经到了第一个位置
然后,第二个和剩下的一次比较,第二小的到了第二个位置。。。
如此,从小到大的顺序排好。
*/
void BubbleSort(int* arr,int length){
int i,j,tmp;
printf("Array before sorting:\n");
for(i=0;i<length;i++){
printf("%d\t",arr[i]);
}
for(i=0;i<length-1;i++){
for(j=i;j<length;++j){
if(arr[i] > arr[j]){
tmp = arr[j];
arr[j] = arr[i];
arr[i] = tmp;
}
}
}
printf("\nArray after sorting:\n");
for(i=0;i<length;i++){
printf("%d\t",arr[i]);
}
printf("\n");
getchar();
}
int main(void){
int i_arr[] = {12,21,23,32,34,43,45,54,56,65,67,76,78,87,78,89,98,89,90};
int i_arr_size;
i_arr_size = sizeof(i_arr) / sizeof(i_arr[0]);
BubbleSort(i_arr,i_arr_size);
return 0;
}
0 0
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- 冒泡排序
- VS2005下WTL开发环境搭建方式
- Linux 内存相关命令
- oratop工具的安装和使用
- 关于 WebSphere 的应用部署
- 他和她
- 冒泡排序
- RMI基础知识
- 单字符Top域名率先开放
- Synchronized Methods
- 深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件
- “ Warning: fopen( ” 错误解决 !
- 字符串中字符右移
- PL/SQL Developer_如何快速获得表名或列名的文本形式
- 高性能WEB开发(8) - 页面呈现、重绘、回流。