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

📄 t783-2-20070830226-陈赟.cpp

📁 建立一个单链表
💻 CPP
字号:
#include<stdio.h>
#include<stdlib.h>
typedef struct node
 {
	 char  data;
	 struct node  *link;
 }NODE;
NODE *delet(NODE *p_head,char b);
void insert(NODE* p_head,char a,char x);
void wwprint(NODE *wwh);
NODE *createlist(int n);
NODE *createlist(int n)          
{ int i;
  char ch;
  NODE *head,*p,*q;
  if(n==0)                          
	 return(NULL);
  head=(NODE *)malloc(sizeof(NODE));
  p=head;
for(i=1;i<n;i++)
   {  printf("\nThe %dth element's data:",i);
	  scanf("%c",&(p->data));
	  ch=getchar();
	  q=(NODE *)malloc(sizeof(NODE));            
	  p->link=q;                                
	  p=q;
}
  printf("\nThe %dth element's data:",i);
  scanf("%c",&(p->data));
  ch=getchar();
  p->link=NULL;
  return(head);
}
void insert(NODE* p_head,char a,char x)         
{  NODE * p,* q;
   q=(NODE *)malloc(sizeof(NODE));
   q->data=x;
   q->link=NULL;                         
   if(p_head==NULL)
    p_head=q;
   else
	  {  p=p_head;
		 while(p->data!=a&&p->link!=NULL)
		 p=p->link;                               
		 q->link=p->link;
		 p->link=q;
	  }
}
NODE* delet(NODE *p_head,char b)
{  NODE *p,*q;
   q=p_head; 
   if(q==NULL) return(0);
   if(q->data==b)
	   {
		  p_head=q->link;
		  free(q);
		  return p_head;
	   }
   else
   while((q->data!=b)&&(q->link!=NULL))
		 {  p=q;
			q=q->link;                   
		 }
	if(q->data==b)
		 { p->link=q->link;
		   free(q);
		   return p_head;
		 }
	else
		return NULL;
}
void listprint(NODE *wwh)     
{
	NODE *k1;
 int i;  
 k1=(NODE *)malloc(sizeof(NODE));
 printf("\n");
 for(i=0;wwh;i++)
   {
	 printf("%c\n",wwh->data);
	 k1=wwh->link;
	 wwh=k1;
   }
 free(k1);
}
main()
{ 
  NODE *ah;
  char ele,k,s,m;
  int n,u;
  ah=(NODE *)malloc(sizeof(NODE));
  printf("\n请输入链表元素的个数:\n");
  printf("number=");
  scanf("%d",&u); 
  getchar();
  ah=createlist(u);
  listprint(ah);
  printf("please input the area where you want:\n"); 
  printf("element=");
  scanf("%c",&m);
  getchar();
 printf("\nplease input the element of you want to insert:\n");
	  printf("element=");
	  scanf("%c",&ele);
	  getchar();                         
      insert(ah,m,ele);
	  listprint(ah);
	  printf("\nplease input the element of you want to delete:\n");
	  printf("element=");
	  scanf("%c",&s);
	  getchar();
	  ah=delet(ah,s);
	  listprint(ah);
getchar();
free(ah);
}

⌨️ 快捷键说明

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