曲径通幽论坛
标题:
在一个已排序好的数组中插入一个元素
[打印本页]
作者:
beyes
时间:
2008-11-23 15:27
标题:
在一个已排序好的数组中插入一个元素
百度知道提问:
已有一个排好序的数组{3,6,9,23,34,56,78},现输入一个数,要求按原来的排序的规则将它插入数组中。
我的解法:
#include <stdio.h>
#define MAX 20
int
main
(
void
)
{
int
a[MAX]
=
{
3
,
6
,
9
,
23
,
34
,
56,78
};
int
i
=
0
;
int
k
=
0
;
int
m
=
0
;
int
temp;
while
( a
!=
0
&&
a[i
+
1
]
!=
0
&&
(i
+
1
)
<
MAX )
i
++
;
k
=
i;
m
=
i;
i
=
0
;
printf(
"被初始化的数组个数为: %d
\n
"
,k
+
1
);
if
( k
==
MAX
-
1
){
printf(
"数组已满,无法再插入
\n
"
);
return
0
;
}
printf(
"请输入一个整数以进行排序: "
);
scanf(
"%d"
,
&
temp);
while
( temp
>
a
)
{
i
++
;
}
while
( k
-
i
>=
0
)
{
a[k
+
1
]
=
a[k];
k
--
;
}
a
=
temp;
m
=
m
+
1
;
printf(
"新的数组为: "
);
for
(i
=
0
; i
<
m
+
1
; i
++
)
{
printf(
"%d "
, a
);
}
printf(
"
\n
"
);
return
0
;
}
欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/)
Powered by Discuz! X3.2