數據結構與算法2-4 堆棧鏈式存儲
阿新 • • 發佈:2017-07-11
數據 erro col free pty spa ret nod 插入
鏈表中,只有一端進行插入與刪除
在表頭的位置,以避免需要知道實際數據長度
結構:
typedef struct Node() { ElementType data; struct node *Next; }List; List *Ptrl;
構造:
List *empty() { List *Ptrl; Ptrl=(List *)malloc(sizeof(List)); Ptrl->Next=NULL; return Ptrl; }
判斷是否是空表
int isEmpty(List *Ptrl) { return(Ptrl->Next==NULL); }
插入:
void Push(ElementType x,List *Ptrl) { List *temp; temp=(List *)malloc(sizeof(List)); temp->data=x; temp->Next=Ptrl->next; Ptrl->Next=temp; }
刪除:
ElementType Pop(List *Ptrl) { List *temp; ElementType returndata;if(isEmpty(Ptrl)) (printf("error");return NULL;) else { Ptrl->Next=temp; returndata=temp->data; Ptrl->Next=temp->next; free(temp); return returndata; } }
數據結構與算法2-4 堆棧鏈式存儲