数据结构文章录入

发布 2021-05-29 08:38:28 阅读 2367

#include <>

#include <>

#include <>

#include <>

typedef struct line

char *data; /字符串指针需要时动态分配内存。

struct line *next;

line;void createtxt(line * head); 创建一张列表,同时向里面输入文本数据。

int count_space(line * head); 统计空格数。

int count_zm(line * head); 统计字母数。

int count_all_word(line * head); 统计文章的总字数。

int find_word(line * head,char *sch); 统计sch 在文章**现的次数。

int count_num(line * head); 统计数字数。

void del_string(line * head,char *sch); 删除指定的字符串。

void outputtxt(line * head); 向屏幕输出文章。

void tj(line * head); 统计。

int read_text(line * head);

int free_link(line *&head);

int free_link(line *&head)

line *p=head;

dowhile((p=p->next)!=null);

head->next=null;

return 0;

void setcolor(unsigned short color)

void createtxt(line * head)

head=new line;

line *end=head;

line *p; /首先为链表建立一个附加表头结点。

// head=p; /将p付给表头指针。

char tmp[80];

while(true)

p->next=null; /是最后的一个指针为空。

head=head->next;

int count_space(line * head)

//统计空格数。

line *p=head;

int asc_space=32; /空格的ascic 码值。

int count=0;

doint len=strlen(p->data计算当前 data 里的数据元素的个数。

for(int i=0;i if(p->data[i]==asc_space)

count++;计算空格数。

while((p=p->next)!=null); 遍历链表。

return count;

int count_num(line * head)

//统计数字数。

line *p=head;

int count=0;

doint len=strlen(p->data计算当前 data 里的数据元素的个数。

for(int i=0;i if(p->data[i]>=48 &&p->data[i]<=57)

count++;计算数字数。

while((p=p->next)!=null); 遍历链表。

return count;

int count_zm(line * head)

//统计字母数。

int count=count_all_word(head); 总的字符数,包含空格。

int space_count=count_space(head); 空格数。

int num_count=count_num(head);/数字数。

return count-space_count-num_count; /返回文章的字母总数。

int count_all_word(line * head)

//统计文章的总字数。

line *p=head; /保存链表的首地址。

int count=0; /总字母数。do

while((p=p->next)!=null); 遍历链表。

return count;

void del_string_word(char *s,char *sch)

// s为输入的字符串。

// sch 为将要删除的字符。

char *p=strstr(s,sch); 查询结果。

char tmp[80];

int len=strlen(s);

int i=len-strlen(p);

int j=i+strlen(sch);

int count=0;

for(int k=0;k tmp[count++]s[k];

for(int kk=j;kk tmp[count++]s[kk];

tmp[count]='0';

strcpy(s,tmp); 返回新的字符串。

void del_string(line * head,char *sch)

//删除指定的字符串。

line *p=head;do

while((p=p->next)!=null); 遍历链表。

void outputtxt(line * head)

//向屏幕输出文章。

line *p=head;

while(p!=null)

遍历链表。void display(line * p,int i)

int j,k=0;

cout

cout<<"请输入所要修改的内容(长度一样)">ch;

for(j=i;j

void display(line * head,char *sch)

line *p=head;

int count=0;

// int h=0;

int len1=0; /保存当前行的总字符数。

int len2=strlen(sch); 待统计字符串的长度。

int i,j,k;do

len1=strlen(p->data);/当前行的字符数。

for(i=0;i

数据结构常用算法数据结构算法

void union list la,list lb union void mergelist list la,list lb,list lc else while i la len while j lb len mergelist status initlist sq sqlist l elemt...

数据结构2019级数据结构大作业

2011级数据结构大作业。1 公园导游图。给出一张某公园的导游图,用图的顶点表示各个景点 景点个数大于等于30 每个景点有属性值 h,t,c 其中h表示游览完成这个顶点给游客带来的happiness,t表示游览这个景点需要的时间,c表示游览这个景点需要的费用,顶点之间的边表示路径 边具有属性值w,表...

数据结构 数据结构与算法大作业二

电子工程系无23班邓创 021372 算法分析。首先把本问题抽象为一个带权图的问题。如图,由6个地点组成的销售网络。其中的路径上的权值已标注。题目要求在每一个点设置一种主销产品,两种辅销产品。对下图来说,不妨设节点n主销第n种产品。这样确定主销产品后,对辅销产品的确定也很方便。即对节点n 1 n 6...