温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C语言如何实现循环单链表

发布时间:2021-06-25 11:51:16 来源:亿速云 阅读:193 作者:小新 栏目:编程语言

这篇文章主要为大家展示了“C语言如何实现循环单链表”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C语言如何实现循环单链表”这篇文章吧。

数据结构 C语言实现循环单链表的实例

实例代码:

//=========杨鑫========================//  //循环单链表的实现  #include <stdio.h>  #include <stdlib.h>     typedef int ElemType;  //定义结点类型   typedef struct Node  {    ElemType data;            struct Node *next;        }Node,*LinkedList;  int count = 0;      //1、单循环链表的初始化  LinkedList init_circular_linkedlist()  {    Node *L;    L = (Node *)malloc(sizeof(Node));     if(L == NULL)                  printf("申请内存空间失败\n");    L->next = L;            }        //2、循环单链表的建立  LinkedList creat_circular_linkedlist()  {    Node *L;    L = (Node *)malloc(sizeof(Node));      L->next = L;               Node *r;    r = L;                    ElemType x;                 while(scanf("%d",&x))    {      if(x == 0)        break;      count++;      Node *p;      p = (Node *)malloc(sizeof(Node));        p->data = x;                  r->next = p;                  r = p;    }    r->next = L;     return L;    }     //4、循环单链表的插入,在循环链表的第i个位置插入x的元素  LinkedList insert_circuler_linkedlist(LinkedList L,int i,ElemType x)  {    Node *pre;                        pre = L;    int tempi = 0;    for (tempi = 1; tempi < i; tempi++)      pre = pre->next;                  Node *p;                         p = (Node *)malloc(sizeof(Node));     p->data = x;     p->next = pre->next;    pre->next = p;    return L;                }       //5、循环单链表的删除,在循环链表中删除值为x的元素  LinkedList delete_circular_linkedlist(LinkedList L,ElemType x)  {    Node *p,*pre;                     p = L->next;    while(p->data != x)                  {        pre = p;       p = p->next;    }    pre->next = p->next;                  free(p);    return L;  }       int main()  {    int i;    LinkedList list, start;    printf("请输入循环单链表的数据, 以0结束!\n");     list = creat_circular_linkedlist();    printf("循环单链表的元素有:\n");    for(start = list->next; start != NULL; start = start->next)    {      if(count== 0)      {          break;      }      printf("%d ", start->data);      count--;    }          printf("\n");    return 0;  }

如图:

C语言如何实现循环单链表

以上是“C语言如何实现循环单链表”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI