@chawuciren
        
        2018-11-21T13:42:27.000000Z
        字数 949
        阅读 745
    CSI
所用的结构体,通过index可以判断栈空(好吧这个并没有什么用),data存符号或者数字,next指针连接链表
typedef struct linklist{int data;struct *linklinst next;}linklist;
为栈的第一个节点分配一段空间,并且让他指向NULL,返回值应该是NULL,参数应该是这个节点
linklist* Initialization(){linklist *new=(linklist*)malloc(sizeof(linklist));new->next=NULL;return new;}
将一个符号或者数字进栈,参数是符号或者数字,返回的是一个栈的下一个节点?或者不返回(还是不返回比较好用) 
怎么连接,真是个问题
bool push(linklist *stacknode,char x){linklist *new=(linklist*)malloc(sizeof(linklist));new->data=x;new->next=stacknode;stacknode->next=new;//为什么是next?return 1;}
判断栈空。 
将栈顶元素返回,并且销毁这个节点。参数是栈的节点,返回值是符号或者数字。
linklist* pop(linklist *stacknode){if(isEmpty(stacknode))return NULL;linklist *new=(linklist*)malloc(sizeof(linklist));new=stacknode;stacknode=stacknode->next;free(new);return stacknode;}
判断栈是不是空的。怎么实现?
bool isEmpty(linklist *stacknode){if(stacknode->next==NULL)return 1;//isEmptyreturn 0;}
判断栈空 
一个接一个地把节点free掉。
void destroy(linklist *stacknode){while(stacknode->next!=NULL){pop(stacknode);}return;}
判断栈空 
参数应该是栈的节点。 
返回栈顶元素。
