欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

单链表(头部插入和尾部插入)

最编程 2024-06-11 11:44:27
...
#include <stdio.h> #include <stdlib.h> typedef struct node{ int data; struct node *next; }Node,*LinkList; //初始化(头插法) /*bool InitList(LinkList &L){ L=(LinkList)malloc(sizeof(Node)); L->next=NULL; return true; } //插入结点(头插法) bool InsertNode(LinkList &L,int i){ Node *N; N=(Node *)malloc(sizeof(Node)); N->data=i; N->next=L->next; L->next=N; return true; }*/ //初始化(尾插法) bool InitList(LinkList &L,int x){ L=(LinkList)malloc(sizeof(Node));//头结点 LinkList S=L; while(x!=999){ Node *m; m=(Node *)malloc(sizeof(Node)); m->data=x; S->next=m; S=m; scanf("%d",&x); } S->next=NULL; return true; } /*bool InitList(LinkList &L,int n){ L=(LinkList)malloc(sizeof(Node)); Node *s,*q=L; for(int i=0;i<n;i++){ s=(LinkList)malloc(sizeof(Node)); s->data=i; s->next=s; q=s; } q->next=NULL; }*/ //删除结点 /*bool DelNode(LinkList L,int i){ LinkList m=L; LinkList q; int j; for(j=0;j<i-1;j++){ m=m->next; } if(i==0){ L=L->next->next;//删除的是头结点 } else { q=m->next; m->next=q->next; free(q); } return true; }*/ //遍历 bool travel(LinkList &L){ LinkList m; m=L->next; while(m!=NULL){ printf("%d",m->data); m=m->next; } return true; } int main() { int x; LinkList L; printf("请输入插入的数值:"); scanf("%d",&x); InitList(L,x); //InsertNode(L,1); //InsertNode(L,2); //InsertNode(L,3); //DelNode(&L,1); travel(L); return 0; }

推荐阅读