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

2025-05-27 0 47

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

实例代码:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104
//=========杨鑫========================//

//循环单链表的实现

#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语言实现循环单链表的实例

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

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 数据结构 C语言实现循环单链表的实例 https://www.kuaiidc.com/74134.html

相关文章

发表评论
暂无评论