⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch4_1.c

📁 本内容为清华大学严蔚敏版数据结构部分算法实现代码
💻 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 + -