它指向的位置就不确定,这在C中是很危险的,如果让一个随机的指针去指向一个随机的地址的话,可能会指向系统的工作区域,破坏数据,从而破坏某种设置,结果可能会使系统运行失常、死机甚至瘫痪。 (3)警告错误太多。忽略这些警告错误并不影响程序的执行,但有时会影响到程序的执行结果,所以一定要对“WARNING”错误引起足够重视,编程时尽量按照警告信息消除可能影响程序结果的隐患。 编译时当警告错误数目大于某一规定值时(缺省为100)便退出编译器, 这时应改变集成开发环境菜单Options/Compiler/Errors中的有关警告错误检查开关为off。
(4)循环语句中, 循环控制变量在每次循环未进行改变, 使循环成为死循环;或和在循环语句中,不能正确的给循环变量初始化,造成循环次数不合乎要求,得不到正确的结果。
2、算法的时间复杂性
(1)顺序表查找的时间复杂度为:O(1)、插入的时间复杂度为:O(N)、删除的时间复杂度为:O(N)、合并的时间复杂度为:O(N)
(2)有序链表插入、查找、删除、合并的时间复杂度分别为为:O(N)、O(1)、O(1)、O(N)
(3)KMP模式匹配的时间复杂度为:O(N*M)
三, 测试结果
运行环境:C-Free 4 1, 编译进入主界面
2, 输入数字1进入顺序表界面
输入1进行顺序表的创建
输入10个元素,建立一个顺序表
按y继续运行进入顺序表的主界面,按2输出刚建立顺序表
按y继续运行进入顺序表的主界面,按3在顺序表中查找
按y继续运行进入顺序表的主界面,按4在顺序表插入一个元素
按y继续运行进入顺序表的主界面,按5在顺序表删除一个元素
按y继续运行进入顺序表的主界面,按6进行顺序表的合并