打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
数据结构---链表

#include<stdio.h>
#include<malloc.h>
typedef struct listnode{
char data;
struct listnode *next;
}listnode,*linklist;
linklist head;

 

void creat(int len)
{linklist p,q; 
 int i;
 char ch;
 printf("请输入字母");
 head=(linklist)malloc(sizeof(listnode));
 head->next=NULL;
 q=head;
 for(i=0;i<=len;i++)
 {p=(linklist)malloc(sizeof(listnode));
  scanf("%c",&ch);
  p->data=ch;
  p->next=q->next;
  q->next=p;
  q=q->next;}
 p=head->next;
 printf("链表为 : ");
 while(p)
 {printf("%c",p->data);
  p=p->next;}
 }


void del(int pose)
{int i;
 linklist p,q;
 p=head;
 for(i=1;i<pose+1;++i)
 p=p->next;
 q=p->next;
 q=q->next;
 p->next=q;
 printf("链表为:");
 p=head->next;
 while(p)
 {printf("%c ",p->data);
  p=p->next;
 }
free(p);
}

 

void insert(char ch,int pose)
{ int i; 
  linklist p,q,s;
  p=head;
  for(i=1;i<pose+1;++i)
    {p=p->next;
  s=p->next; 
  q=(linklist)malloc(sizeof(listnode));
  q->data=ch;
  q->next=s;
  p->next=q;
  p=head->next;}
  printf("插入后的字符链表为:");
  while(p)
  {printf("%c ",p->data);
   p=p->next;
  }}

 

  void main( )
{int c,len,x;
 char y,d;
 printf("请输入链表长度:");
 scanf("%d",&len);
 creat(len);
 printf("\n增加结点输入a,删除结点输入d");getchar();
 scanf("%c",&y);
 if(y=='a')
 {printf("请输入要插入的字母和位置:");getchar();
 scanf("%c,%d",&d,&x);
 insert(d,x);}
 else if(y=='d')
 {printf("请输入要删除的字母:\n");getchar();
 scanf("%c",&c);
 del(c);}}

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
开放协作论坛 - 一个c链表问题
数据结构课程设计
怎么建立单链表啊
单链表知识详解
数据结构题集(C语言版)算法设计题解析-第二章
C语言数据结构
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服