题目:读取一段文本内容,将每个文本内的单词保存在一个链表中,并插入指定单词到指定位置,最后显示整个文本内容出来。
思路:按行读取文本内容,通过定义两个指针,一个指向头,一个指向尾截取字母长度。链表再根据长度定义相同大小的空间进行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