栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

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

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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

实例代码:

//=========杨鑫========================// 
//循环单链表的实现 
#include  
#include  
  
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; 
}  

如图:

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/63673.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号