#include #include using namespace std; typedef char ElemType; typedef int Status; typedef struct LNode { ElemType data; struct LNode *next; }LNode,*LinkList; Status InitList(LinkList &L)//初始化链表 { L=new LNode; L->next=NULL; cout<next<>curPtr->data;//输入元素值 curPtr->next=NULL; //最后一个节点的next赋空 rearPtr->next=curPtr; rearPtr=curPtr; } return 1; } void ListPrint_L(LinkList &L)//输出单链表 { LNode *p=L->next; //p指向第一个元素结点 while(p) { if(p->next!=NULL) cout<data<<" "; else cout<data; p=p->next; } cout<next; while(p) { len++; p=p->next; } cout<next; if(p) cout<<"no"<next; int j=1; while(p&&jnext; j++; } cout<data<next; int i=1; while(p) { if(p->data==c) { cout<next; } } } void ListInsert(LinkList &L,int i,ElemType e)//插入一结点 { LNode *p=L->next; int j=1; while(p&&(jnext; j++; } LNode *s; s=new LNode; s->data=e; s->next=p->next; p->next=s; } void ListDelete(LinkList &L,int i)//删除某一结点 { LNode *p=L->next,*q; int j=1; while((p->next)&&(jnext; j++; } q=p->next; p->next=q->next; delete q; } void ListClear(LinkList &L)//释放链表 { LNode *p; while(L->next) { p=L->next; L->next=p->next; delete p; } } int main() { LinkList L; InitList(L); int n; cin>>n; ListCreate_L(L,n); ListPrint_L(L); ListLength_L(L); EmptyList_L(L); GetElem(L,3); GetAdr(L,'a'); ListInsert(L,4,'x'); ListPrint_L(L); ListDelete(L,3); ListPrint_L(L); ListClear(L); return 0; }