链表
C语言实现创建单链表
/*链表基本操作:1创建链表2插入节点3删除节点*/ #include<bits/stdc++.h> using namespace std; struct node { int data; struct node *next; } ; int main() { int i,a,n; struct node *head,*p,*q,*t; head=NULL; printf("请输入要创建的链表长度!\n") ; scanf("%d",&n); /*创建n个结点长度的单链表*/ for(i=0;i<n;i++) { scanf("%d",&a); //p=(struct node *)malloc(sizeof(struct node));//c创建空间 p=new node;//c++创建空间 p->data=a; p->next=NULL; if(head == NULL) head=p; else q->next=p; q=p; } /*插入结点*/ printf("请输入要插入的数!\n") ; scanf("%d",&a); t=head; while(t!=NULL) { if(t->next->data>a) { //p=(struct node *)malloc(sizeof(struct node));//c创建空间 p=new node;//c++创建空间 p->data=a; p->next=t->next; t->next=p; break; } t=t->next; } /*删除某个节点*/ printf("请输入要删除的数!\n") ; scanf("%d",&a); t=q=head; while(t->data!=a) { q=t; t=t->next; } if(t==NULL)printf("不存在!\n") ; else { q->next=t->next; } /*打印结果*/ t=head; while(t!=NULL) { printf("%d ",t->data); t=t->next; } getchar(); getchar(); return 0; }

浙公网安备 33010602011771号