摘要:
编写算法Concat(&T, S1, S2) ,实现将已知串S2联接到串S1的后面形成一个新串T,要求在定长顺序存储结构上实现。其中定长顺序存储结构描述如下: #define MAXSTRLEN 255 //用户可在255以内定义最大串长 typedef unsigned char SString[ 阅读全文
摘要:
编写算法Delete_SubString(Stringtype &s, Stringtype t),要求从s中删除所有和串t相同的子串,并返回删除的次数。 (要求利用五种基本操作:串赋值StrAssign,串比较StrCompare,求串的长度StrLength,串的联接Concat,截子串SubS 阅读全文
摘要:
假设将循环顺序队列定义为:以域变量rear和length分别指示循环顺序队列中队尾元素的位置和内含元素的个数,试给出此循环队列的队满条件,并写出相应的入队和出队操作的算法。 提示:满足上述条件的循环顺序队列的存储结构可描述如下: #define MAXQSIZE 100 typedef struct 阅读全文
摘要:
如果希望循环顺序队列中的存储空间都能得到利用,可设置一个标志域变量tag,并以tag的值为0或1来区分队头指针和队尾指针相等时的队列状态是“空”还是“满”。试编写此结构相应的入队和出队算法。 提示:满足上述要求的队列存储结构可描述如下: typedef struct { QElemType *bas 阅读全文
摘要:
假设以顺序存储结构实现一个双向栈,即在一维数组的存储空间中存在两个栈,它们的栈底分别设在数组的两个端点,栈顶指针分别指示栈顶元素的下一存储单元。试编写实现这个双向栈tws的入栈操作Push(&tws, i ,e)和出栈操作的算法Pop(&tws,i,e),其中i为1或2,用以分别指示设在数组两端的两 阅读全文
摘要:
编写算法Reverse(LinkList &L),要求借助于栈将一个带头结点的单链表L逆置。其中栈的初始化操作、入栈操作和出栈操作算法名分别为InitStack(&S)、Push(&S,e)、Pop(&S,&e),单链表的存储结构如下: typedef struct LNode { ElemType 阅读全文