会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
小迪的Blog
学习ing...(注明:该Blog中的任何信息都非原创,只是作为个人的阅读笔记)
博客园
首页
新随笔
新文章
联系
订阅
管理
算法 - 排序 - 冒泡排序
void
BubbleSort(SeqList R)
{
//
R(l..n)是待排序的文件,采用自下向上扫描,对R做冒泡排序
int
i,j;
bool
exchangeFlag;
//
交换标志
for
(i
=
1
; i
<
n; i
++
)
{
//
最多做n-1趟排序
exchangeFlag
=
false
;
//
本趟排序开始前
for
(j
=
n; j
>
i; j
--
)
//
对当前无序区R[i..n]自下向上扫描
{
if
(R[j].key
<
R[j
-
1
].key)
{
//
交换
R[temp]
=
R[j];
//
R[temp]仅做暂存单元
R[j]
=
R[j
-
1
];
R[j]
=
R[temp];
exchangeFlag
=
true
;
//
发生交换
}
}
if
(
!
exchange)
//
本趟排序未发生交换,提前终止算法
{
return
;
}
}
//
endfor(外循环)
}
//
BubbleSort
void
BubbleSort(
int
[] x)
{
for
(
int
i
=
0
; i
<
x.Length
-
1
; i
++
)
{
for
(
int
j
=
x.Length
-
1
; j
>
i; j
--
)
{
if
(x[j]
<
x[j
-
1
])
{
int
temp;
temp
=
x[j];
x[j]
=
x[j
-
1
];
x[j
-
1
]
=
temp;
}
}
}
}
posted on
2005-12-13 18:23
小迪
阅读(
446
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部