通过链表储存文本

该博客介绍如何通过链表来储存文本内容,详细阐述了读取文本、按单词存储到链表以及在链表中插入指定单词的方法。文章涉及C语言实现,包括链表的初始化、添加、插入、销毁和遍历操作,并提供了自定义回调函数和测试函数的实现。
摘要由CSDN通过智能技术生成

题目:读取一段文本内容,将每个文本内的单词保存在一个链表中,并插入指定单词到指定位置,最后显示整个文本内容出来。

思路:按行读取文本内容,通过定义两个指针,一个指向头,一个指向尾截取字母长度。链表再根据长度定义相同大小的空间进行memcpy。

运行环境:windows vs2019 Dev-c  linux gcc

相关头文件

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define judge(letter) (!((letter>='a' && letter<='z') || (letter>='A' && letter<='Z')))

指针域,地址域,链表定义

struct linknode
{

    struct linknode* next;
    void* data;
};
struct linklist
{
    struct linknode pheader;
    int size;

};

链表初始化

//初始化
struct linklist* firstlist()
{
    struct linklist* mylist = (struct linklist*)malloc(sizeof(struct linklist));
    mylist->pheader.next = NULL;
    mylist->pheader.data = NULL;
    mylist->size = 0;
    return mylist;
}

链表添加,插入,销毁,遍历

//添加
void addlist(struct linklist* mylist, void*address,int wordsize)
{
    if (mylist == NULL || address == NULL)
    {
        return;
    }
    struct linknode* node = (struct linknode*)m
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值