1. 程式人生 > >頭插法、尾插法的理解

頭插法、尾插法的理解

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 int
status; 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); }

頭插法、尾插法的理解