#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<<"请输入所要修改的内容(长度一样)" 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... 2011级数据结构大作业。1 公园导游图。给出一张某公园的导游图,用图的顶点表示各个景点 景点个数大于等于30 每个景点有属性值 h,t,c 其中h表示游览完成这个顶点给游客带来的happiness,t表示游览这个景点需要的时间,c表示游览这个景点需要的费用,顶点之间的边表示路径 边具有属性值w,表... 电子工程系无23班邓创 021372 算法分析。首先把本问题抽象为一个带权图的问题。如图,由6个地点组成的销售网络。其中的路径上的权值已标注。题目要求在每一个点设置一种主销产品,两种辅销产品。对下图来说,不妨设节点n主销第n种产品。这样确定主销产品后,对辅销产品的确定也很方便。即对节点n 1 n 6...数据结构常用算法数据结构算法
数据结构2019级数据结构大作业
数据结构 数据结构与算法大作业二