冒泡排序改进版--添加标示排序法
来源:互联网 发布:java生成验证码工具类 编辑:程序博客网 时间:2024/06/10 00:43
冒泡排序中,如果有n个数据,执行的操作大概需要n*n/2次比较和操作,如果仅有两位数字逆序,也需要不少时间,所以我们可以添加一个标示,判断序列中是否还有逆序,若不存在逆序,就结束排序,这样能大大节省排序时间。代码如下:
#include<iostream>
using namespace std;
int main()
{
int a[10];
int i,j,temp,n,flag = 1;//flag 用来标示序列中是否还存在逆序
for(i=0;i<10;i++)
{
cin>>a[i];
}
while(flag > 0 )
{
for(i=0;i<9;i++)
{
for(j=9;j>i;j--)
{
flag = 0;
if(a[j]<a[j-1])
{
flag++;//若需要交换 flag自加 标示还存在逆序 否则排序完成 结束排序
temp = a[j];
a[j] = a[j-1];
a[j-1] = temp;
for(n = 0;n<10;n++)
{
cout<<a[n]<< " ";
}
cout<<endl;
}
}
}
}
return 0;
}
- 冒泡排序改进版--添加标示排序法
- 冒泡法排序改进版
- 冒泡排序改进版
- 改进版冒泡排序
- 冒泡排序改进版
- 冒泡排序改进版
- 冒泡排序以及改进版冒泡排序
- 冒泡排序法的改进
- 排序 - 冒泡法(改进)
- 快速排序-冒泡法改进
- 冒泡排序的 改进版
- 冒泡排序及改进版
- 冒泡排序的改进
- 冒泡排序及其改进
- 冒泡排序的改进
- 冒泡排序改进-1
- 冒泡排序改进
- 冒泡排序及其改进
- ios 创建一个新的window 覆盖当前的window
- codeforces#336 div2 A,B
- 为什么 API 监控对于任何业务来说都重要?
- [开发日记-SHUCheck]RecyclerView使用记录
- 课程设计-学生成绩系统
- 冒泡排序改进版--添加标示排序法
- mysql has gone away的原因
- 【Linux】ubuntu下安装MySQL、Redis
- 数据结构C语言版进制转换
- Orientation - 2
- XJ001班2015年12月24日课堂总结与作业
- 慕课网-Java入门第二季实战练习-答答租车系统
- Java之旅--定时任务(Timer、Quartz、Spring、LinuxCron)
- Linux Kernel 定时器和时间管理(浅析)