早教吧作业答案频道 -->数学-->
将顺序表(a1,a2,…,an)重新排列为以a1为界的两部分:a1前面的值均比a1小,a1后面的值都比a1大.
题目详情
将顺序表(a1,a2,…,an)重新排列为以a1为界的两部分:a1前面的值均比a1小,a1后面的值都比a1大.
▼优质解答
答案和解析
#include
//此函数将数列划分成两部分,以数列第一个元素为键值.
void devide(int *a, int n)
{
int i, p = 0, t;
for(i = p + 1; i < n; ++i)
{
// 遍历数列,每当遇到一个比键值小的数时,将其与左边第P个位置上的数字交换,由此保证最左边的P个数均小于键值.
if(a[i] < a[0] && i > ++p)
{
t = a[p];
a[p] = a[i];
a[i] = t;
}
}
// 将第一个元素与第P个元素位置交换,完成整个过程.
if(p > 0)
{
t = a[p];
a[p] = a[0];
a[0] = t;
}
}
// 输出结果
void print(int *a, int n)
{
int i;
for(i = 0; i < n; ++i)
{
printf("%d ", a[i]);
}
}
void main()
{
//初始化数列,此部分可以根据实际需要进行调整
int a[10] = { 5, 1, 2, 9, 6, 4, 3, 7, 8, 0 };
devide(a, 10);
print(a, 10);
sleep(10);
}
//此函数将数列划分成两部分,以数列第一个元素为键值.
void devide(int *a, int n)
{
int i, p = 0, t;
for(i = p + 1; i < n; ++i)
{
// 遍历数列,每当遇到一个比键值小的数时,将其与左边第P个位置上的数字交换,由此保证最左边的P个数均小于键值.
if(a[i] < a[0] && i > ++p)
{
t = a[p];
a[p] = a[i];
a[i] = t;
}
}
// 将第一个元素与第P个元素位置交换,完成整个过程.
if(p > 0)
{
t = a[p];
a[p] = a[0];
a[0] = t;
}
}
// 输出结果
void print(int *a, int n)
{
int i;
for(i = 0; i < n; ++i)
{
printf("%d ", a[i]);
}
}
void main()
{
//初始化数列,此部分可以根据实际需要进行调整
int a[10] = { 5, 1, 2, 9, 6, 4, 3, 7, 8, 0 };
devide(a, 10);
print(a, 10);
sleep(10);
}
看了 将顺序表(a1,a2,…,a...的网友还看了以下:
11.“科学城”、“旅游城”等专业化城市出现在()A.18世纪产业革命以前B.19世纪70年代以后 2020-05-13 …
欧洲不再是资本主义的一统天下,自19世纪以来欧洲的世界中心地位和对世界的支配地位受到了真正的挑战和 2020-05-14 …
质量管理的发展过程大体上经历了三个阶段,其中( )阶段始于二十世纪六十年代以后。A. 质量检验 2020-05-21 …
( )作为一类独成体系的保险业务,始于19世纪的欧美国家,发达于20世纪70年代以后。A.火灾保险B 2020-05-22 …
(10)图形以后界面的英文缩写是【10】。 2020-05-23 …
在大多数情况下,病毒侵入计算机系统以后,()。A.病毒程序将立即破坏整个计算机软件系统B.计算机系 2020-05-26 …
8.如图所示,在光滑绝缘水平面上有A、B两个同种点电荷相距无限远.A的质量为m,且静止;B的质量为 2020-06-07 …
下边是我国几种主要资源的人均占有量及在世界100多个国家的排序:耕地总面积居世界第五位,人均占有量 2020-07-18 …
我们以后是直接死亡,再接着重生吗?还是死后有另一个世界?在小的时候经常听老人们讲,说人死了以后还有另 2020-11-05 …
一位同学在旅游回来的途中,看到路旁有一标牌(如图所示),这时他看了看手表,指针正指在13:55,则他 2020-11-12 …