#include<stdio.h>
#include<stdlib.h>
typedef struct node{
char data;
struct node *next;
} Node ,*Linklist;
//链表建立函数
Linklist CreateList(void)
{
char ch;
Linklist head;
Linklist s , r;
head = NULL;
s = NULL;
while( ( ch = getchar()) != '\n')
{
r = (struct node *) malloc ( sizeof( struct node) );
r->data = ch;
if(head == NULL)
head = r;
else
s->next = r;
s = r;
}
if(s != NULL)
{
s->next = NULL;
}
return head ;
}
//链表输出函数
void Print( Linklist list)
{
Linklist a,b;
a = list;
while(a != NULL)
{
printf("%c\n", a->data) ;
b = a;
a = a->next;
free(b);
}
}
int main()
{
Linklist head;
head = CreateList();
Print( head );
return 0;
}
分享到:
相关推荐
根据给定的信息,本文将详细解释“数据结构中十字链表的C语言实现”这一主题。主要内容包括:十字链表的基本概念、十字链表在C语言中的实现方式、创建十字链表的过程、打印十字链表的方法以及两个十字链表相加的算法...
### C语言链表的逆向输出程序解析 ...通过上述分析,我们可以看到该程序不仅实现了链表的基本功能,还涉及到了链表的一些高级应用,如逆序输出。这对于理解链表的原理及其在实际编程中的应用具有重要的意义。
在本项目中,"C语言实现链表通讯录"是一个典型的C语言编程任务,它结合了数据结构(链表)和数据库(MySQL)的应用。这个课程设计的目标是创建一个能够与MySQL数据库交互的C语言程序,以管理联系人信息。下面我们将...
本文将对一个使用纯C语言实现的链表逆序程序进行详细解析。该程序包含链表的创建、打印、逆序以及销毁等功能,非常适合C语言初学者理解和学习。 #### 二、程序结构 1. **头文件引入**:程序开始通过`#include ...
#include <iostream> // 注意:使用的是C++的标准输入输出流头文件,而不是C的 #include <stdlib.h> // 引入动态内存分配和释放相关的头文件 struct Panel_Point { // 定义链表节点结构体 int data1; int data2; ...
在本文中,将详细介绍如何使用C语言实现一个异质链表。异质链表(也称为泛型链表或变体链表)是一种可以存储不同类型数据的链表。在C语言中,由于不支持泛型编程,我们需要通过特定的结构体和联合体来模拟异质链表的...
在`lru.c`和`lru.h`中,你可以看到C语言实现的LRU算法的源代码。`lru.h`可能包含了LRU缓存的接口声明,如`init_lru()`, `add_to_lru()`, `get_from_lru()`, `remove_lru()`等函数,它们分别用于初始化LRU缓存、添加...
这段C语言代码提供了实现图的十字链表的一种方法,通过动态内存分配和链表的灵活运用,有效地存储和访问图中的顶点和边信息。通过对代码的学习,不仅可以加深对十字链表这一数据结构的理解,还能提升在实际编程中...
在本课程设计中,我们将利用C语言来实现一个基于双向循环链表的通讯簿系统。这个系统具备添加、查询、删除、插入以及统计等基本功能,以满足日常通讯录管理需求。以下是关于这个设计的详细解释和实现原理。 1. **...
线性链表是其中最基本的形式,本文将深入探讨如何使用C语言实现线性链表,并涵盖其基本操作,包括创建、插入、删除和遍历。 #### 创建链表 链表的创建通常始于创建一个头节点,该节点不存储实际数据,但作为整个...
### 链表操作(增删改查)C语言实现 #### 一、知识点概述 本文将基于给定的代码示例,详细解析如何在C语言中实现链表的基本操作,包括创建、插入、删除以及遍历等核心功能。这些操作是数据结构学习中的基础,对于...
本程序用C语言实现了一个简单的动态链表,用于存储学生记录,包括学号(`num`)和成绩(`score`)。以下是对该程序各部分的详细解释: 首先,定义了`struct student`结构体,它包含了三个成员: 1. `long num`: ...
在这个课程设计中,我们将深入探讨如何利用C语言实现哈夫曼树(Huffman Tree),这是一种基于链表的数据结构,常用于数据压缩。 哈夫曼编码是数据压缩的一种高效方法,由哈夫曼在1952年提出。它的核心思想是为每个...
链表的创建和输出分别由`creat()`和`print()`函数实现。`creat()`函数首先检查链表是否为空,然后通过`malloc()`函数为每个新节点分配内存,用户输入数值后,将其存储在节点的`num`字段中,然后将节点的`next`字段...
用C语言实现的链表多项式的运算,实现多项式加法和乘法
本文将详细介绍如何使用C语言实现单向链表的创建、输入和输出。 #### 单向链表的基本概念 单向链表是一种线性表,其中每个元素(节点)包含一个数据域和一个指向其后继节点的指针域。单向链表的主要特点是节点只能...
- 函数原型及关系:定义各功能函数的输入输出参数,描述函数间调用关系,确保程序结构清晰。 3. **详细设计** - 用户交互界面设计:使用字符界面,提供简洁明了的操作提示和反馈。 - 核心数据结构设计:采用链表...
本项目“C语言链表学生成绩管理系统代码”是基于C语言实现的一个学生成绩管理的简易系统,利用了链表数据结构来存储和操作学生信息及成绩。链表是一种动态数据结构,相对于数组,它更加灵活,能方便地进行插入、删除...
在实际编码过程中,可以使用标准库如 `<stdio.h>` 进行输入输出, `<stdlib.h>` 管理内存, `<time.h>` 生成随机数种子,以及 `<stdbool.h>` 定义布尔类型。此外,自定义函数如 `generate_random()` 用于生成0到1...