lianbiao.txt

来自「双向链表的基本运算,双向链表的基本运算,双向链表的基本运算」· 文本 代码 · 共 184 行

TXT
184
字号
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 + =
减小字号Ctrl + -
显示快捷键?