您的位置:首页 > 编程语言 > C语言/C++

压链栈与进链队列和创建线性表的关系

2016-06-12 08:56 671 查看
首先,来写下

1.线性表的头插法

void CreateFromHead(linklist *h)
{
lisklist *s;
char c;
c=getchar();
while(c!='$')
{
s=(linklist *)malloc(sizeof(linklist));
s->data=c;
s->next=h->next;
h->next=s;
c=getchar();
}
}


进栈的代码

int push(LinkStack *top,StackElemType x)
{
LinkStack *new;
new=(LinkStack)malloc(sizeof(LinkStack));
if(new==NULL)return FALSE;
new->data=x;
new->next=top->next;
top->next=new;
return OK;
}


2.线性表的尾插法

void CreateFromTail(LinkList *h)
{
LinkList *tail,*new;
tail=h;
char c=getchar();
while(c!='$')
{
new=(linklist *)malloc(sizeof(linklist));
new->data=c;
tail->next=new;
tail=new;
c=getchar();
}
tail->next=NULL;
}


链队列的入队

int EnterQueue(LinkQueue *q,QueueElemType x){
LinkQueueNode *newnode;
newnode=(LinkQueue*)malloc(sizeof(LinkQueue));
if(newnode==NULL)
return FALSE;
newnode->data=x;
newnode->next=NULL;
q->rear->next=newnode;
q->rear=newnode;
return OK;
}


栈与队列的出现或者说是必然,也是偶然
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言 线性表 队列