#include <stdio.h>
#include <stdlib.h> #define ElemType int
#define Status int
#define OK 0
#define ERROR -1 typedef struct Node
{
ElemType data;
struct Node * next;
}Node; typedef struct Node * LinkList; /*定义LinkList*/ // Status GetElem(LinkList L, int i, ElemType *e)
// {
// int j=1;
// LinkList p; /*声明一指针p*/
// p = L->next;
// while (p && j<i)
// {
// p = p->next;
// ++j;
// }; // if (i <= j || !p)
// return ERROR; // *e = p->data; // return OK;
// } // /*初始条件: 顺序线性表已经存在, 1<=i<=ListLength(L).*/
// /*操作结果: 这里指在链表第i个元素之前插入元素e, L的长度加1*/
// /*元素前后定义:箭头指向的方向为前*/
// Status ListInsert(LinkList L,int i, ElemType e)
// {
// LinkList p,s;
// p = *L;
// int j=1;
// while(p && j<i)
// {
// p = p->next;
// ++j;
// } // if(!p || j >= i)
// return ERROR; /*第i个节点不存在*/ // s = (LinkList)malloc(sizeof(Node));
// s->data = e;
// s->next = p->next;
// p->next = s; // return OK;
// } // /*初始条件: 顺序线性表已经存在, 1<=i<=ListLength(L).*/
// /*操作结果: 这里指删除链表的第i个元素, 并使用e返回该元素值,L的长度减1*/
// Status ListDelete(LinkList L, int i, ElemType *e)
// {
// LinkList p, q;
// p = *L;
// int j=1; // while(p && j<i)
// {
// p = p->next;
// ++j;
// } // if(!p || j >= i)
// return ERROR; /*第i个节点不存在*/ // q = p->next;
// e = q->data;
// p->next = q->next;
// free(q); /*让系统回收次节点,释放内存*/
// return OK;
// } // void CreateListHead(LinkList *L, int n)
// {
// LinkList *p;
// int i;
// srand(time(0)); /*初始化随机数种子*/
// *L = (LinkList)malloc(sizeof(Node));
// L->next = NULL; /*先建立一个带头节点的单链表*/
// for(i=0; i<n; i++)
// {
// p = (LinkList)malloc(sizeof(Node)); /*生成新节点*/
// p->data = rand()%100+1;
// p->next = (*L)->next;
// (*L)->next = p;
// }
// } void CreateListTail(LinkList * L, int n)
{
LinkList *p, r;
int i;
srand(time(0));
*L = (LinkList)malloc(sizeof(Node));
printf("%d ", sizeof(Node));
L->next = NULL;
r = *L; /*将链表尾指针赋给r*/
// for(i=0; i<n; i++)
// {
// p = (LinkList )malloc(sizeof(Node)); /*生成新节点*/
// p->data = rand()%100+1;
// r->next = p;
// r = p; /*将当前的新节点定义为表尾的终端节点*/
// }
// r->next=NULL;
} // Status ClearList(LinkList *L)
// {
// LinkList p,q;
// p = (*L)->next; // while(p)
// {
// q = p->next;
// free(q);
// p = q;
// }
// (*L)->next = NULL;
// return OK;
// } int main()
{
LinkList mylist;
CreateListTail(&mylist, 16); return 0;
}