到处流浪的猫
全部博文(4)
2011年(1)
2010年(1)
2009年(2)
分类: C/C++
2010-12-03 17:14:45
#include <stdio.h>#include <stdlib.h>typedef int Item;typedef struct LNode{ Item data; struct LNode *next;}LNode, *LinkList;void InitList(LinkList *L){ *L = (LinkList)malloc(sizeof(LNode)); (*L)->next = NULL;}void DestroyList(LinkList *L){ LinkList p; while(*L != NULL) { p = *L; *L = (*L)->next; free(p); }}void ClearList(LinkList *L){ LinkList p; p = (*L)->next; while(p != NULL) { (*L)->next = p->next; free(p); p = (*L)->next; }}int EmptyList(LinkList L){ if(L->next == NULL) { return 1; } return 0;}int LengthList(LinkList L){ int i=0; LinkList p; p = L->next; while(p != NULL) { p = p->next; i++; } return i;}void GetItem(LinkList L, int i, Item *e){ LinkList p; int n=1; p = L->next; while(p != NULL && n < i) { n++; p = p->next; } *e = p->data;}void InsertItem(LinkList *L, int i, Item e){ LinkList new, current, q; current = (*L)->next; q = *L; int n = 1; while(current != NULL && n < i) { q = current; n++; current = current->next; } new = (LinkList)malloc(sizeof(LNode)); new->data = e; q->next = new; new->next = current;}void PrintList(LinkList L){ int i=1; LinkList p; p = L->next; while(p != NULL) { printf("%d : %d\n",i, p->data); p = p->next; i++; }}int main(int argc, char **argv){ LinkList L; InitList(&L); int i; for(i = 1; i < 10; i++) { InsertItem(&L, i, i); } PrintList(L); DestroyList(&L); return 0;}
上一篇:Apache MPM主要模式
下一篇:博客已升级,请注意变更地址
登录 注册