通过对一学期C语言+数据结构与算法的课程的了解掌握,这里面所做的系统所需要掌握的知识相对难一点,可以来检验自己学的成果。里面包括了系统和课程设计报告(,很适合刚学完C语言的学生想要提高自己的同学阅读和上手
2022-12-19 19:22:42 352KB c语言 数据结构和算法
1
MFC Windows 程序设计之2D图形绘制,适合初学MFC的小伙伴学习研究,博客中有对应的讲解和演示,避免走弯路,费时费力。也真心希望能够帮助正在苦学MFC Windows 程序设计的小伙伴们,你们的成长是我最大的幸福
2022-12-18 17:16:54 54.08MB c++ vc++ c语言 数据结构
1
通过结构体来设计一个运动会管理系统,包括男子女子项目,文件为.cpp格式文件,用DevC打开即可运行,如有不合理的地方,请加以批判指正。
1
题目一 简单排序方法 【问题描述】 简单排序算法主要包括冒泡排序、简单选择排序和直接插入排序,它们都是时间复杂度为的排序方法,需要熟练掌握。 【基本要求】 用随机函数产生10000(或更多)个整数(或浮点数),保存在文件(intfile.dat / realfile.dat)中,然后将文件中的所有整数(或浮点数)读入一个数组A。 (1)用冒泡法对数组A排序; (2)用简单选择排序方法对数组A排序; (3)用直接插入排序法对数组A排序; 将上述排序算法分别用函数实现,观察每种排序过程中元素的比较次数、交换(或移动)次数,以及排序过程所消耗的时间(以s或ms为单位)。
2022-12-07 19:40:20 3KB C语言 数据结构
1
北方工业大学专升本数据结构复习题,光说不练假把式,这道习题帮你·了解对知识点的掌握,帮你复习知识点,帮你加深数据结构的印象。
2022-12-04 09:15:17 157KB c 数据结构
1
KMP字符串模式匹配通俗点说就是一种在一个字符串中定位另一个串的高效算法。简单匹配算法的时间复杂度为O(m*n);KMP匹配算法。可以证明它的时间复杂度为O(m+n).。 一.简单匹配算法 先来看一个简单匹配算法的函数: int Index_BF ( char S [ ], char T [ ], int pos ) { /* 若串 S 中从第pos(S 的下标0≤pos S[0] != S[1],S[1] != S[2],所以S[1] != T[0],S[2] != T[0]. 还是从理论上间接比较了。 有人疑问又来了,你分析的是不是特殊轻况啊。 假设S不变,在S中搜索T=“abaabd”呢?答:这种情况,当比较到S[2]和T[2]时,发现不等,就去看next[2]的值,next[2]=-1,意思是S[2]已经和T[0] 间接比较过了,不相等,接下来去比较S[3]和T[0]吧。 假设S不变,在S中搜索T=“abbabd”呢?答:这种情况当比较到S[2]和T[2]时,发现不等,就去看next[2]的值,next[2]=0,意思是S[2]已经和T[2]比较过了,不相等,接下来去比较S[2]和T[0]吧。 假设S=”abaabcabdabba”在S中搜索T=“abaabd”呢?答:这种情况当比较到S[5]和T[5]时,发现不等,就去看next[5]的值,next[5]=2,意思是前面的比较过了,其中,S[5]的前面有两个字符和T的开始两个相等,接下来去比较S[5]和T[2]吧。 总之,有了串的next值,一切搞定。那么,怎么求串的模式函数值next[n]呢?(本文中next值、模式函数值、模式值是一个意思。) 三. 怎么求串的模式值next[n] 定义: (1)next[0]= -1 意义:任何串的第一个字符的模式值规定为-1。 (2)next[j]= -1 意义:模式串T中下标为j的字符,如果与首字符 相同,且j的前面的1—k个字符与开头的1—k 个字符不等(或者相等但T[k]==T[j])(1≤k0 但k #include int KMP(const char *Text,const char* Pattern) //const 表示函数内部不会改变这个参数的值。 { if( !Text||!Pattern|| Pattern[0]=='\0' || Text[0]=='\0' )// return -1;//空指针或空串,返回-1。 int len=0; const char * c=Pattern; while(*c++!='\0')//移动指针比移动下标快。 { ++len;//字符串长度。 } int *next=new int[len+1]; get_nextval(Pattern,next);//求Pattern的next函数值 int index=0,i=0,j=0; while(Text[i]!='\0' && Pattern[j]!='\0' ) { if(Text[i]== Pattern[j]) { ++i;// 继续比较后继字符 ++j; } else { index += j-next[j]; if(next[j]!=-1) j=next[j];// 模式串向右移动 else { j=0; ++i; } } }//while delete []next; if(Pattern[j]=='\0') return index;// 匹配成功 else return -1; } int main()//abCabCad { char* text="bababCabCadcaabcaababcbaaaabaaacababcaabc"; char*pattern="adCadCad"; //getNext(pattern,n); //get_nextval(pattern,n); cout<
2022-12-03 21:12:51 418KB c语言 数据结构 字符串模式匹配 算法
1
图的遍历 C语言 数据结构 上机作业 邻接矩阵
2022-12-01 17:05:22 192KB 图的遍历 C语言 数据结构
1
包括报告和源码。一共魔方阵、约瑟夫环、任务调度、文件压缩、校园导游、查找最高分次高分、考试日程安排与成绩统计七个实验,用C语言写的,可作为本科数据结构课程上机实验参考。
2022-11-25 15:36:10 916KB 数据结构 c语言 数据结构实验报告
1
个人账簿管理系统记录某人每月的全部收入及各项开支情况,包括食品消费,房租,子女教育费用,水电费,医疗费,储蓄等。进入系统后可以输入和修改某月的收支情况,可以对每月的开支从小到大进行排序,可以根据输入的月份查询每月的收支情况。
2022-11-22 09:12:19 16.63MB C 链表 数据结构 个人账簿管理系统
1
包含文件IO、数据结构、简单的算法、系统编程和网络编程
2022-11-15 14:02:58 123.79MB c语言 数据结构 系统编程 网络编程
1