早教吧作业答案频道 -->其他-->
2.设有一组初始记录关键字为(35,60,48,24,66,78),进行直接插入排序和冒泡排序。(20分)3.已知二叉树的后序遍历序列是DBFGECA,中序遍历序列是DBAFEGC,并给出先序遍历。(10分)急求答
题目详情
2.设有一组初始记录关键字为(35,60,48,24,66,78),进行直接插入排序和冒泡排序。(20分)
3.已知二叉树的后序遍历序列是DBFGECA,中序遍历序列是DBAFEGC,并给出先序遍历。(10分)
急求答案
3.已知二叉树的后序遍历序列是DBFGECA,中序遍历序列是DBAFEGC,并给出先序遍历。(10分)
急求答案
▼优质解答
答案和解析
#include <iostream>
using namespace std;
#define MAX_SIZE 6
typedef struct
{
int r[MAX_SIZE+1]; // 用于存储要排序数组,r[0]用作哨兵或临时变量
int length; // 用于记录顺序表的长度
}SqList;
// 交换L中数组r的下标为i和j的值
void swap(SqList *L,int i,int j){
int temp=L->r[i];
L->r[i]=L->r[j];
L->r[j]=temp;
}
// 对顺序表L做直接插入排序
void insert_sort(SqList *L){
int i,j;
for (i=2;i<=L->length;i++)
{
if(L->r[i]<L->r[i-1]){
L->r[0]=L->r[i]; // 设置哨兵
for(j=i-1;L->r[j]>L->r[0];j--) L->r[j+1]=L->r[j]; // 元素后移
L->r[j+1]=L->r[0]; // 将较小的元素插入刚才较大元素的位置
}
}
}
void print(SqList *L){
int i;
for (i =1; i <L->length; i++) cout<<L->r[i]<<",";
cout<<L->r[i]<<endl;
}
int main()
{
SqList list;
list.r[0]=0;
list.r[1]=35;
list.r[2]=60;
list.r[3]=48;
list.r[4]=24;
list.r[5]=66;
list.r[6]=78;
list.length=6;
printf("直接插入排序前:");
print(&list);
insert_sort(&list);
printf("直接插入排序后:");
print(&list);
return 0;
}
// 冒泡算法略,因为它太简单了。留给楼主思考吧。
3.先序是:
ADBCEGF
看了 2.设有一组初始记录关键字为...的网友还看了以下:
符号“f”表示一种算法,它对一些数的运算结果如下:(1)f(1)=0,f(2)=1,f(3)=2, 2020-05-16 …
f(x)对任意x∈R,都有f(x+△x)-f(x)/△x>0成立,且f(x)的图像经过A(-1,- 2020-06-11 …
函数变换顺序问题设y=f(x+3)-2,那么沿y轴作反射时,y=f(-x+3)-2.这里就有一个问 2020-07-09 …
1.曲线y=1/2x^2-2在点(1,-3/2)处切线的倾斜角为?2.已知f'(x0)=lim[f 2020-07-31 …
已知定义在R上的函数f(x)是奇函数且满足f(3/2-x)=f(x),f(3/2-x)=f(x)f 2020-08-01 …
关于函数图象关于某点成中心对称的问题.定义在R上的函数的图象关于点(-3/4,0)成中心对称,且对 2020-08-02 …
时间很赶,1.设函数y=x^2-3|x-1|-1的图像与x轴的焦点个数有()A.1个B.2个C.3个 2020-11-10 …
数学合情推理f(n)=1+1/2+1/3+.1/n(n属于N*),计算得f(2)=3/2,f(4)> 2020-11-21 …
f(n)=1+1/2+1/3+1/4+……+1/n(n为正整数),经经计算f(2)=3/2,f(4) 2020-11-21 …
符号f和g分别表示一种符号利用以上规律计算g(1/2008)-f(2008)=多少f(1)=0,f( 2020-11-24 …