Chinaunix首页
|
论坛
|
博客
博文
博主
LVah的ChinaUnix博客
4月28日14:30-20:30机房服务器迁移,暂停博客使用
9/30日 14:00 -10/4日 08:00暂时无法发布内容!
9/30日 14:00 -10/4日 08:00暂时无法发布内容!
首页
|
博文目录
|
关于我
LVah
博客访问: 8982
博文数量: 2
博客积分: 0
博客等级: 民兵
技术积分: 30
用 户 组: 普通用户
注册时间: 2015-05-10 22:07
文章分类
全部博文
(2)
C语言
(2)
未分配的博文
(0)
文章存档
2015年
(2)
2015年09月
(2)
我的朋友
最近访客
推荐博文
·
Pytest框架 —— setUp()和te...
·
nginx适配Overlay以及测试工...
·
Linux命令大全之— chown...
·
MySQL的RR模式解决不可重复读...
·
shell脚本的调试(trap、tee、...
相关博文
·
《正点原子BEE BLOCK模块资料...
·
互动游戏开发新趋势:弹幕游...
·
《正点原子BEE BLOCK模块资料...
·
百度搜索:蓝易云 - 使用git...
·
《正点原子BEE BLOCK模块资料...
·
基于 FPGA 的嵌入式高速信号...
·
《正点原子BEE BLOCK模块资料...
·
百度搜索:蓝易云 - jsp和ser...
·
百度搜索:蓝易云 - php所有...
·
【第二章 模型与设备连接】手...
冒泡排序的三种方法
分类:
C/C++
2015-09-05 09:24:19
//冒泡排序的三种实现方法
(
以从小到大排序为例
)
//设数组长度为N
//1、compare相邻的前后两个数据,若prev_data
>
next_data
,
则swap
;
//2、对0~
(
N
-
1
)
个数据进行一次遍历,max_data
"沉"
到N
-
1个位置;
//3、N
=
N
-
1
,
if
(
n
!
=
0
)
,
重复2,else
(
sort is completed
)
.
//冒泡排序1
void BubbleSort1
(
int
a
[
]
,
int
n
)
{
int
i
,
j
;
for
(
i
=
0
;
i
<
n
;
i
+
+
)
{
//外循环控制循环趟数
for
(
j
=
0
;
j
<
n
-
i
;
j
+
+
)
{
//内循环控制选择要进行比较的数
if
(
a
[
j
-
1
]
>
a
[
j
]
)
{
Swap
(
a
[
j
-
1
]
,
a
[
j
]
)
;
}
}
}
}
//冒泡排序2
//设置一个标志flag,if swap,then flag
=
ture;else flag
=
false,no swap,so sort is completed
.
void BubbleSort2
(
int
a
[
]
,
int
n
)
{
int
i
;
bool flag
;
flag
=
ture
;
while
(
flag
)
{
flag
=
false
;
for
(
i
=
1
;
i
<
n
;
i
+
+
)
{
if
(
a
[
i
-
1
]
>
a
[
i
]
)
{
Swap
(
a
[
i
-
1
]
,
a
[
i
]
)
;
flag
=
ture
;
}
n
-
-
;
}
}
}
//冒泡排序3
void BubbleSort3
(
int
a
[
]
;
int
n
)
{
int
i
,
j
;
int
flag
;
flag
=
n
;
while
(
flag
>
0
)
{
j
=
flag
;
flag
=
0
;
for
(
i
=
1
;
i
<
n
;
i
+
+
)
{
if
(
a
[
i
-
1
]
>
a
[
i
]
)
{
Swap
(
a
[
i
-
1
]
,
a
[
i
]
)
;
flag
=
i
;
}
}
}
}
阅读(1208) | 评论(0) | 转发(0) |
0
上一篇:
队列的操作集锦
下一篇:没有了
给主人留下些什么吧!~~
评论热议
请登录后评论。
登录
注册