早教吧 育儿知识 作业答案 考试题库 百科 知识分享

将顺序表(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);
}
看了 将顺序表(a1,a2,…,a...的网友还看了以下:

小张的手表示走时准确,小李的表比小张的表每小时慢2分钟,小赵的表比小张的表每小时快2分钟.8点时三  2020-04-07 …

观察表中数字的排列规律,回答下面的问题:①表中第1行第5列的数字是;②表中第5行第4列的数字是;③  2020-05-12 …

按元素周期表的排列规律填写如表空格中元素的原子序数、元素符号、元素名称,并回答下列问题:原子序数元  2020-05-13 …

下表列出了部分金属的熔点和沸点(在标准大气压下),根据表中的数据,下列说法中正确的是()物质水银金  2020-05-14 …

有一根长2米的的圆柱型钢材如果把它截成3个小圆柱则三个小圆柱表面积的和比原钢材的表面积增加了37.  2020-06-20 …

.下列关于诸子百家的代表人物,阐述错误的是()A.法家的代表人物是墨子、商鞅.B.兵家的代表人.下  2020-06-29 …

图表示500百帕等压面空间高度分布图,图中数值表示等压面高度,据此回答下列各题。小题1:与N对应的  2020-07-03 …

下图是哈尔滨东站开往北京的K18次列车运行时刻表,列车夕发朝至,全程运行1288km哈尔滨东哈尔滨  2020-07-15 …

将正奇数1,3,5,7,排成五列(如表),按此表的排列规律,89所在的位置是()A.第一列B.第二  2020-07-25 …

(200y•大庆)下表列出了部分金属s熔点和沸点(在标准大气压下),根据表中s数据,下列说法中正确  2020-07-28 …