摘要:
假设以顺序存储结构实现一个双向栈,即在一维数组的存储空间中存在着两个栈,它们的栈底分别设在数组的两个端点。试编写实现这个双向栈tws的三个操作:初始化inistack(tws)、入栈push(tws,i,x)和出栈pop(tws,i)的算法,其中i为0或1,用以分别指示设在数组两端的两个栈.#include
#include
#define OK 1
#define OVERFLOW -1
#define ERROR 1
typedef int Status; typedef struct
{ int *base[2]; int *top[2];
}BDStack; Status In... 阅读全文
摘要:
1、试写一算法在带头结点的单链表结构上实现线性表操作Locate(L,x)2、试写一算法在带头结点的单链表结构上实现线性表操作Length(L)#include
#include
#define ERROR 0
#define OK 1
#define OVERFLOW -1
#define TRUE 1
typedef int Status; struct LNode
{ int data; LNode *next;
};
typedef LNode *LinkList; void InitList(LinkList &L)
{ L=(LinkList)ma... 阅读全文
摘要:
设顺序表va中的数据元素递增有序。试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性。#include
#include
#define LIST_INIT_SIZE 10
#define LIST_INCREMENT 2
#define ERROR 0
#define OK 1
#define OVERFLOW -1
#define TRUE 1
typedef int Status;
struct SqList
{ int *elem; int length; int listsize;
}; void InitList(SqList &L)
{
... 阅读全文