带不带头结点的差别就是,在插入和删除操作中,不带头结点的链表需要考虑两种情况:1、插入(删除)在头结点。2、在其他位置。 6.4 //L是给定单链表,函数FindKth要返回链式表的第K个元素。如果该元素不存在,则返回ERROR。ElementTypeFindKth(List L,intK){inti =0;while(L !=NULL) {if(i+1== K)returnL->D...
各个操作函数的定义为: List MakeEmpty():创建并返回一个空的线性表; Position Find( List L, ElementType X ):返回线性表中X的位置。若找不到则返回ERROR; bool Insert( List L, ElementType X, Position P ):将X插入在位置P指向的结点之前,返回true。如果参数P指向非法位置,则打印“Wrong Position for Ins...
Pop from Stack 1: 1 Pop from Stack 2: 13 12 11 函数实现细节: 1Stack CreateStack(intMaxSize ){2Stack S=(Stack)malloc(sizeof(structSNode));3S->Data=(ElementType *)malloc(MaxSize*sizeof(ElementType));4S->Top1=-1;5S->Top2=MaxSize;6S->MaxSize=MaxSize;7returnS;8}910boolPush( Stack...
sta->Data = (ElementType*)malloc(MaxSize*sizeof(ElementType)); sta->Top1 = -1; sta->Top2 = MaxSize; sta->MaxSize = MaxSize;returnsta; }boolPush(Stack S, ElementType X, int Tag) {if(S == NULL)returnfalse;if(S->Top1 +1== S->Top2) {printf("Stack Full\n");returnfalse; ...
摘要: 【PTA】6-6 带头结点的链式表操作集 (20分) 函数接口定义: List MakeEmpty(); Position Find( List L, ElementType X ); bool Insert( List L, ElementType X, Position P ); bool De 阅读全文 posted @ 2020-06-09 16:32 wyjgr 阅读(281) 评论(0) 推荐(0) 编辑 ...
其中Tag是堆栈编号,取1或2;MaxSize堆栈数组的规模;Stack结构定义如下: 1 2 3 4 5 6 7 typedefintPosition; structSNode { ElementType *Data; Position Top1, Top2; intMaxSize; }; typedefstructSNode *Stack; 注意:如果堆栈已满,Push函数必须输出“Stack Full”并且返回false;如果某堆栈是空的,则Pop函数...