頭插法、尾插法的理解
阿新 • • 發佈:2017-11-26
all adc lis err node != main eof ted
/*************************************************************** Author :h-j-w Created Time :2017-11-26 File Name :頭插法、尾插法 **************************************************************/ #include<bits/stdc++.h> #define OK 1 #define ERROR 0 using namespace std; typedef intstatus; typedef struct lnode { int data; struct lnode *next; }*Node, *linklist; //尾插法(順序) void Tailcreate(linklist &l, int n) { Node p = (Node)malloc(sizeof(lnode)); p = l; for(int i = 0; i < n ; i++) { Node q = (Node)malloc(sizeof(lnode)); q->data =i; p->next = q; p = q; } p->next = NULL; } //頭插法(逆序) void Headcreate(linklist &l, int n) { Node p; p = l; p->next = NULL; for(int i = 0; i < n ; i++) { Node q = (Node)malloc(sizeof(lnode)); q->data = i; q->next = p->next; p->next = q; } } void Print(linklist l) { Node p; p = l->next; while(p) { printf("%d",p->data); if(p->next != NULL) printf("--"); p = p->next; } printf("\n"); } int main() { linklist L; L = (linklist)malloc(sizeof(lnode)); Tailcreate(L,5); printf("尾插法\n"); Print(L); Headcreate(L,5); printf("頭插法\n"); Print(L); }
頭插法、尾插法的理解