算法 c语言 冒泡排序改进
2017-07-31 16:00
337 查看
#include<stdio.h>
#define N 8
void show(int a[]);
void bubble(int a[]);
int main()
{
int a
= {50,36,66,76,95,12,25,36};
printf("原无序记录:\n");
show(a);
printf("排序过程如下:\n");
bubble(a);
return 0;
}
void bubble(int a[])
{
int i,j,tmp,flag;
for(i = 0;i < N-1;i++)
{
flag = 1;
for(j = 0;j <N -1;j++)
{
if(a[j]>a[j+1])
{
tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
flag = 0;
}
}
if(flag) //对冒泡算法改进
break;
show(a);
}
}
void show(int a[])
{
int i;
for(i = 0;i < N;i++)
printf("%d\t",a[i]);
printf("\n");
}
#define N 8
void show(int a[]);
void bubble(int a[]);
int main()
{
int a
= {50,36,66,76,95,12,25,36};
printf("原无序记录:\n");
show(a);
printf("排序过程如下:\n");
bubble(a);
return 0;
}
void bubble(int a[])
{
int i,j,tmp,flag;
for(i = 0;i < N-1;i++)
{
flag = 1;
for(j = 0;j <N -1;j++)
{
if(a[j]>a[j+1])
{
tmp = a[j];
a[j] = a[j+1];
a[j+1] = tmp;
flag = 0;
}
}
if(flag) //对冒泡算法改进
break;
show(a);
}
}
void show(int a[])
{
int i;
for(i = 0;i < N;i++)
printf("%d\t",a[i]);
printf("\n");
}
相关文章推荐
- 冒泡排序及其改进算法C语言实现
- 冒泡排序的算法分析与改进
- 冒泡排序的算法分析与改进 (选择自 Uncommon 的 Blog )
- c语言实现冒泡排序、希尔排序等多种算法示例
- 冒泡排序改进算法
- [算法练习]冒泡排序的C语言实现
- c语言中冒泡排序、插入排序、选择排序算法比较
- C++ 数据结构与算法:冒泡排序及改进算法
- 冒泡排序的算法分析与改进
- c语言中冒泡排序、插入排序、选择排序算法比较
- 冒泡排序的算法分析与改进
- 数据结构&算法实践—【排序|交换排序】冒泡排序及改进
- 冒泡排序的算法分析与改进
- 冒泡排序的算法分析与改进
- 数据结构&算法实践—【排序|交换排序】冒泡排序及改进
- 冒泡排序及其改进算法
- 【数据结构与算法】内部排序之二:冒泡排序和选择排序(改进优化,附完整源码)
- 冒泡排序的算法分析与改进
- 算法学习之排序——冒泡排序及其改进算法(Java)
- 冒泡排序改进算法(双向起泡)