资源简介
数据结构相关的课程设计,实现了基于顺序表、链表、二叉树、哈希表的词频统计与检索,仅供参考!
代码片段和文件信息
// 实习.cpp : 定义控制台应用程序的入口点。
//
#include “stdafx.h“
#include
#include
#include
#include
#include
#include
#include “malloc.h“
#include “stdlib.h“
#include
#include
#include
using namespace std;
typedef struct
{
string words;//储存单词
int count;//记录单词个数后面出现几次
}sq;
int n=0a;
string word[500];
sq p[5000];
int tr=0total=0mi=0;
void readtxt()
{char letter[24];
int K;
FILE *fp;
char ch;
fp=fopen(“D://InFile.txt““r“);//读取文件,需改为你要读取的文件的绝对路径
while (!feof(fp))//feof()检测是否达到文件尾部
{ch = getc(fp);//获取当前字符
if (ch == ‘ ‘ || ch == 10)
{//ASCLL码中10为换行符,此条件为遇到空格或换行则跳过
continue;
}
if ((ch >= ‘a‘&&ch <= ‘z‘) || (ch >= ‘A‘&&ch <= ‘Z‘)) //发现一个单词
{
K = 0;
while ((ch >= ‘a‘&&ch <= ‘z‘) || (ch >= ‘A‘&&ch <= ‘Z‘) || (ch == ‘\‘‘))
{
if (ch >= ‘A‘&&ch <= ‘Z‘)
ch += 32;//转换成小写
letter[K++] = ch;//把当前字母存入数组
ch = getc(fp);
}
letter[K++] = ‘\0‘;//结束标志\0
word[n]=letter;
//cout< n++;
}}
}
void time(){
LARGE_INTEGER litmp;
LONGLONG QPart1QPart2;
double dfMinusdfFreqdfTim;
QueryPerformanceFrequency(&litmp);
dfFreq = (double)litmp.QuadPart;
QueryPerformanceCounter(&litmp);
QPart1 = litmp.QuadPart;
Sleep(100) ;
QueryPerformanceCounter(&litmp);
QPart2 = litmp.QuadPart;
dfMinus = (double)(QPart2-QPart1);
dfTim = dfMinus/dfFreq;
dfTim*=1000000;
printf(“查找该单词所用的时间:%lf 微秒\n“dfTim);}
typedef struct
{sq * elem;
int length;
}sqlist;
int partition(sqlist &Lint low int high)
{string pivotkey;
L.elem [0]=L.elem [low];
pivotkey=L.elem [0].words;
while(low {
while(lowpivotkey) --high;
L.elem [low]=L.elem [high];
while(low L.elem [high]=L.elem [low];
}
L.elem [low]=L.elem [0];
return low;
}
void qsort(sqlist &Lint lowint high)
{int pivotloc;
if(low pivotloc=partition(Llowhigh);
qsort(Llowpivotloc-1);
qsort(Lpivotloc+1high);
}
}
void quicksort(sqlist &L)
{
qsort(L1L.length-1);
}
void sortdata(sq s[])
{
sq e;
int t=0pji;
while(t {
p=a;
for (i = 0; i {
if (word[t] ==s[i].words )//如果有单词相同
{
s[i].count ++;//则此类单词加1
break;//进行下一个单词的查找
}
}
if (a == 0 || i == a)//前面如果没有相同的单词
{
s [a].words =word[t] ;//给此单词分配位置
s[a].count =1 ;
a++;}
t++;}
for (j = 0; j
for (i = 0; i
if (s[i].words >s[i + 1].words )
{
e = s[i];
s[i] = s[i + 1];
s[i + 1] =e;
}
}
void sqsave(sqlist &L)
{int it=0f=1jpq=1;
L.elem=new sq[5000];
if(!L.elem)exit(0);
L.length =0;
while(t {
p=f;
for (i = 1; i {
if (word[t] ==L.elem [i].words )//如果有单词相同
{
L.elem [i].count ++;//则此类单词加1
break;
}
}
if (f == 1 || i == f)/
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 19129 2016-12-30 11:37 实习.cpp
文件 26112 2017-11-13 16:11 实习报告书.doc
相关资源
- 停车场 数据结构课程设计源代码
- 数据结构地图着色问题
- 哈夫曼编码译码实验报告
- 商品货架管理
- 武汉大学十套数据结构试题及答案
- 数据结构课程设计——校园导游
- 数据结构实验报告---数制转换
- 数据结构火车车厢重排问题
- 建立一个带权无向图用邻接矩阵表示
- 天理计算机真题答案
- 数据结构课设——哈夫曼树
- 数据结构课程设计——商品货架管理
- 数据结构八皇后问题实验报告
- 数据结构 冒泡排序 输出每一趟结果
- 树孩子—兄弟链表表示
- 迷宫求解数据结构课程设计报告.doc
- 考研数据结构算法总结.pdf完美版
- 数据结构作业霍夫曼编码译码器
- 数据结构课程设计之哈夫曼树的建立
- 利用顺序栈将一个非负的十进制整数
- 华中科技大学_基于链式存储结构实现
- 数据结构课程设计,
- TSP回溯法实现从武汉出发,进行34个省
- 上海理工大学《数据结构》期末试题
- 杭电数据结构马踏棋盘实验报告
- 利用哈夫曼编码进行通信可以大大提
- 数据结构运动会分数统计实验报告
- 操作系统+算法导论+计算机网络知识
- 运动会分数统计设计报告
- 数据结构实验报告3-栈与队列-中缀表
评论
共有 条评论