📄 ch4_1.c
字号:
#include<stdio.h>
#include<stdlib.h>
typedef struct list /* 声明链表结构 */
{
int data; /* 数据域 */
struct list *link; /* 指针域 */
}node;
void main( )
{
node *head=NULL; /* 链表起始指针 */
node *new_node; /* 新结点指针 */
node *ptr; /* 遍历链表指针 */
int input; /* 使用者输入值 */
printf("请输入Ctrl+Z表示数据输入结束\n");
printf("请输入结点内容(int)=>\n");
while(scanf("%d", &input) != EOF)
{ /* 若输入值为EOF(文件结束码)才停止回圈 */
new_node=(node *)malloc(sizeof(node)); /* 配置内存空间 */
if(new_node == NULL) /* 检查内存指针 */
{
printf("内存配置失败!\n");
exit(1); /* 结束程式 */
}
new_node->data=input; /* 将输入值放入新结点的数据域 */
if(head == NULL) /* 若链表为空串列时 */
{
head=new_node; /* 链表的起始结点即为新加入的结点 */
new_node->link=NULL; /* 将新结点的链表域设为NULL */
}
else /* 先遍历至最后一个结点,再将新结点接到后面 */
{
for(ptr=head; ptr->link!=NULL; ptr=ptr->link);
new_node->link=ptr->link;
ptr->link=new_node;
}
}
printf("\n印出链表内容:\n");
/* 利用指针遍历链表 */
for(ptr=head; ptr!=NULL; ptr=ptr->link)
printf("[%d]", ptr->data); /* 印出链表结点内容 */
printf("\n");
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -