#include<stdio.h>
#include<stdlib.h>
#include<iostream>
using namespace std;
typedef struct linknode{
linknode *next;
int data;
}linkNode;
void init(linkNode *&rear){
rear=NULL;
}
void push(linkNode *&rear,int data){
linkNode *p;
p=(linkNode *)malloc(sizeof(linkNode));
p->data=data;
if(rear==NULL){
p->next=p;
rear=p;
}
else
{
p->next=rear->next;
rear->next=p;
rear=p;
}
}
void pop(linkNode *&rear,int &data){
linkNode *p;
if(rear==NULL) return;
p=rear->next;
rear->next=p->next;
data=p->data;
free(p);
}
int main(){
int character;
linkNode *rear; //创建尾指针
init(rear);
push(rear,1);
push(rear,2);
printf("%d\n",rear->data);
pop(rear,character);
printf("%d\n",character);
printf("%d",rear->data);
return 0;
}