⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lianbiao.txt

📁 双向链表的基本运算,双向链表的基本运算,双向链表的基本运算
💻 TXT
字号:
1、查找#include<stdio.h>
#include<malloc.h>
#defineN10
typedefstructnode
{
 charname[20];
 structnode*llink,*rlink;
}stud;
stud*creat(intn)
{
 stud*p,*h,*s;
 inti;
 if((h=(stud*)malloc(sizeof(stud)))==NULL)
 {
  printf("不能分配内存空间!");
  exit(0);
 }
 h->name[0]=’’;
 h->llink=NULL;
 h->rlink=NULL;
 p=h;
 for(i=0;i<n;i++)
 {
  if((s=(stud*)malloc(sizeof(stud)))==NULL)
  {
   printf("不能分配内存空间!");
   exit(0);
  }
  p->rlink=s;
  printf("请输入第%d个人的姓名",i+1);
  scanf("%s",s->name);
  s->llink=p;
  s->rlink=NULL;
  p=s;
 }
 h->llink=s;
 p->rlink=h;
 return(h);
}
stud*search(stud*h,char*x)
{
 stud*p;
 char*y;
 p=h->rlink;
 while(p!=h)
 {
  y=p->name;
  if(strcmp(y,x)==0)
   return(p);
  elsep=p->rlink;
 }
 printf("没有查找到该数据!");
}
voidprint(stud*h)
{
 intn;
 stud*p;
 p=h->rlink;
 printf("数据信息为:n");
 while(p!=h)
 {
  printf("%s",&*(p->name));
  p=p->rlink;
 }
 printf("n");
}
main()
{
 intnumber;
 charstudname[20];
 stud*head,*searchpoint;
 number=N;
 clrscr();
 head=creat(number);
 print(head);
 printf("请输入你要查找的人的姓名:");
 scanf("%s",studname);
 searchpoint=search(head,studname);
 printf("你所要查找的人的姓名是:%s",*&searchpoint->name);
}

插入

#include<stdio.h>
#include<malloc.h>
#include<string.h>
#defineN10
typedefstructnode
{
 charname[20];
 structnode*llink,*rlink;
}stud;
stud*creat(intn)
{
 stud*p,*h,*s;
 inti;
 if((h=(stud*)malloc(sizeof(stud)))==NULL)
 {
  printf("不能分配内存空间!");
  exit(0);
 }
 h->name[0]=’’;
 h->llink=NULL;
 h->rlink=NULL;
 p=h;
 for(i=0;i<n;i++)
 {
  if((s=(stud*)malloc(sizeof(stud)))==NULL)
  {
   printf("不能分配内存空间!");
   exit(0);
  }
  p->rlink=s;
  printf("请输入第%d个人的姓名",i+1);
  scanf("%s",s->name);
  s->llink=p;
  s->rlink=NULL;
  p=s;
 }
 h->llink=s;
 p->rlink=h;
 return(h);
}
stud*search(stud*h,char*x)
{
 stud*p;
 char*y;
 p=h->rlink;
 while(p!=h)
 {
  y=p->name;
  if(strcmp(y,x)==0)
   return(p);
  elsep=p->rlink;
 }
 printf("没有查找到该数据!");
}
voidprint(stud*h)
{
 intn;
 stud*p;
 p=h->rlink;
 printf("数据信息为:n");
 while(p!=h)
 {
  printf("%s",&*(p->name));
  p=p->rlink;
 }
 printf("n");
}
voidinsert(stud*p)
{
 charstuname[20];
 stud*s;
 if((s=(stud*)malloc(sizeof(stud)))==NULL)
 {
  printf("不能分配内存空间!");
  exit(0);
 }
 printf("请输入你要插入的人的姓名:");
 scanf("%s",stuname);
 strcpy(s->name,stuname);
 s->rlink=p->rlink;
 p->rlink=s;
 s->llink=p;
 (s->rlink)->llink=s;
}
main()
{
 intnumber;
 charstudname[20];
 stud*head,*searchpoint;
 number=N;
 clrscr();
 head=creat(number);
 print(head);
 printf("请输入你要查找的人的姓名:");
 scanf("%s",studname);
 searchpoint=search(head,studname);
 printf("你所要查找的人的姓名是:%sn",*&searchpoint->name);
 insert(searchpoint);
 print(head);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -