文档介绍:1. 顺序表插入算法 22. 顺序表删除算法 23. 链表插入算法(无头结点) 34. 链表删除算法 35. 头插法建立链表(有头结点) 46. 尾插法建立链表 47. 先序遍历的递归算法 58. 中序遍历的递归算法 59. 后序遍历的递归算法 610. 中序遍历非递归算法 611. 构造赫夫曼树 712. 深度优先搜索(邻接矩阵) 813. 深度优先搜索(邻接表) 9顺序表插入算法StatusListInsert_sq(SqList&l,inti,elemtypex){if(i<1||i>+1)return(ERROR);if(==MAXSIZE)return(OVERFLOW);for(j=;j>=i;j--)[j]=[j-1];[j]=x;++;return(OK);}顺序表删除算法StatusListDelete_sq(Sqlist&L,inti,ElemType&e){if(i<1||i>)returnERROR;for(j=i;j<=-1;j++) [j-1]=[j];--;}链表插入算法(无头结点)StatusListInsert(LinkList&L,inti,ElemTypee){p=L;j=0;while(p&&j<i-1){p=p->next;++j;}if(!p||j>i-1)returnERROR;S=(LinkList)malloc(sizeof(Lnode));S->data=x;S->next=p->next;P->next=s;returnOK;}链表删除算法StatusListDelete(LinkList&L,inti,ElemType&e){p=L;j=0;while(p->next&&j<i-1){p=p->next;++j;}if(!p->next||j>i-1)returnERROR;q=p->next;P->next=q->next;E=q->data;Free(q);returnOK;}头插法建立链表(有头结点)Create_L(LinkList&L,intn){//逆位序输入n个元素的值,建立带表头结点的单链表LL=(LinkList)malloc(sizeof(LNode));//建立一个带头结点的单链表L->next=NULL;for(i=n;i>0;--i){p=(LinkList)malloc(sizeof(LNode));//生成新结点scanf(&p->data);//输入元素值p->next=L->next;L->next=p;//插入到表头}}//Create_L尾插法建立链表Create_L(LinkList&L,intn){L=(Linklist)malloc(sizeof(LNode));r=L;for(i=1;i<=n;i++){p=(LinkList)malloc(sizeof(LNode));scanf(&p–>data);r–>next=p;r=p;}r–>next=NULL;(不要忘记)}时间复杂度为:O(n)先序遍历的递归算法voidpreorder(JD*bt){if(bt!=NULL){pri