老师泄露了两道考题,无语。高手顶下。对的给分。
1。在线性表中删除第i个元素
2。先序遍历二叉树
两个问题都是要写算法的代码,C和C++的都可以。
高手顶起!
老师泄露了两道考题,无语。高手顶下。对的给分。
1。在线性表中删除第i个元素
2。先序遍历二叉树
两个问题都是要写算法的代码,C和C++的都可以。
高手顶起!
// 删除线性表L中的第i个数据元素
void DeleteList_Sq(SeqList &L,int i)
{
int j;
if (i<1 || i>L.length)
{
printf("\n%d: Overflow.\n",i);
return;
}
if(L.length!=0)
for (j=i-1; j<L.length; ++j) L.elem[j]= L.elem[j+1];
//删除元素的位置之后的元素左移
--(L.length); //线性表的长度减1
PrintList_Sq(L);
}//DeleteList_Sq
// 先序遍历二叉树T的递归算法
void PreOrder(BiTree T)
{
if(!T) return; //递归出口
Visit(T);
PreOrder(T->Lchild);
PreOrder(T->Rchild);
}//PreOrder