实例代码:
?
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
|
# include <stdio.h>
# include <stdlib.h>
typedef struct node //定义链表中结点的结构
{
int code;
struct node *next;
}NODE,*LinkList;
/*错误信息输出函数*/
void Error( char *message)
{
fprintf (stderr, "Error:%s/n" ,message);
exit (1);
}
//创建循环链表
LinkList createList( int n)
{
LinkList head; //头结点
LinkList p; //当前创建的节点
LinkList tail; //尾节点
int i;
head=(NODE *) malloc ( sizeof (NODE)); //创建循环链表的头节点
if (!head)
{
Error( "memory allocation error!/n" );
}
head->code=1;
head->next=head;
tail=head;
for (i=2;i<n;i++)
{
//创建循环链表的节点
p=(NODE *) malloc ( sizeof (NODE));
tail->next=p;
p->code=i;
p->next=head;
tail=p;
}
return head;
}
|
第二种方法:
?
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
|
//创建循环链表方法2(软件设计师教程书上的方法)
LinkList createList2( int n)
{
LinkList head,p;
int i;
head=(NODE *) malloc ( sizeof (NODE));
if (!head)
{
printf ( "memory allocation error/n" );
exit (1);
}
head->code=1;
head->next=head;
for (i=n;i>1;--i)
{
p=(NODE *) malloc ( sizeof (NODE));
if (!p)
{
printf ( "memory allocation error!/n" );
exit (1);
}
p->code=i;
p->next=head->next;
head->next=p;
}
return head;
}
|
?
1
2
3
4
5
6
7
8
9
10
11
12
|
void output(LinkList head)
{
LinkList p;
p=head;
do
{
printf ( "%4d" ,p->code);
p=p->next;
}
while (p!=head);
printf ( "/n" );
}
|
?
1
2
3
4
5
6
7
8
9
|
void main( void )
{
LinkList head;
int n;
printf ( "input a number:" );
scanf ( "%d" ,&n);
head=createList(n);
output(head);
}
|
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关文章
猜你喜欢
- 64M VPS建站:是否适合初学者操作和管理? 2025-06-10
- ASP.NET自助建站系统中的用户注册和登录功能定制方法 2025-06-10
- ASP.NET自助建站系统的域名绑定与解析教程 2025-06-10
- 个人服务器网站搭建:如何选择合适的服务器提供商? 2025-06-10
- ASP.NET自助建站系统中如何实现多语言支持? 2025-06-10
TA的动态
- 2025-07-10 怎样使用阿里云的安全工具进行服务器漏洞扫描和修复?
- 2025-07-10 怎样使用命令行工具优化Linux云服务器的Ping性能?
- 2025-07-10 怎样使用Xshell连接华为云服务器,实现高效远程管理?
- 2025-07-10 怎样利用云服务器D盘搭建稳定、高效的网站托管环境?
- 2025-07-10 怎样使用阿里云的安全组功能来增强服务器防火墙的安全性?
快网idc优惠网
QQ交流群
您的支持,是我们最大的动力!
热门文章
-
2025-05-27 59
-
2025-05-29 34
-
2025-05-29 38
-
详解使用Mybatis-plus + velocity模板生成自定义的代码
2025-05-29 79 -
2025-05-29 54
热门评论