会员
周边
众包
新闻
博问
闪存
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
业精于勤荒于嬉,形成于思毁于随
订阅
管理
8.2插入排序
#include
"
stdafx.h
"
#include
<
iostream.h
>
#include
<
malloc.h
>
int
const
count
=
10
;
typedef
struct
{
int
key;
}
records;
typedef records list[count
+
1
];
void
straightsort(list
&
r)
{
for
(
int
i
=
2
;i
<=
count;i
++
)
{
r[
0
].key
=
r[i].key;
int
j
=
i
-
1
;
while
(r[
0
].key
<
r[j].key)
{
r[j
+
1
].key
=
r[j].key;
j
--
;
}
r[j
+
1
].key
=
r[
0
].key;
}
}
void
printList(list r)
{
for
(
int
i
=
0
;i
<
count;i
++
)
{
if
(i
==
0
)
{
cout
<<
r[i
+
1
].key;
}
else
{
cout
<<
"
,
"
<<
r[i
+
1
].key;
}
}
cout
<<
endl;
}
int
main(
int
argc,
char
*
argv[])
{
list r;
for
(
int
i
=
0
;i
<
count;i
++
)
{
cout
<<
"
输入第
"
<<
i
+
1
<<
"
个主键
"
;
cin
>>
r[i
+
1
].key;
}
cout
<<
"
输入的序列为:
"
<<
endl;
printList(r);
straightsort(r);
cout
<<
"
插入排序后的序列为:
"
<<
endl;
printList(r);
return
0
;
}
一点说明:为什么在标题中要嵌入英文?原因是为了能够让国外的网友能查询到这篇文章。平常在Google上查资料的时候,经常参考国外网友的博客,帮助我解决了很多问题,所以我也想让他们能够参考我写的内容。当然文中我不可能全部译为英文,所以我尽量把代码粘全,靠代码说话吧。
posted @
2007-08-07 10:14
吴东雷
阅读(
274
) 评论(
0
)
编辑
收藏
举报
会员力量,点亮园子希望
刷新页面
返回顶部
公告