摘要: 这两天完成了栈的顺序存储结构的相关算法,包括初始化、压栈、出栈、取栈顶元素、判断栈是否为空、返回栈长度、栈的遍历、清栈、销毁栈。这次的实现过程有两点收获,总结如下: 一、清楚遍历栈的概念 栈的遍历指的是从栈底想栈顶方向运行visit()函数,这是之前的学习中所忽略的;栈的遍历解除了栈的输出顺序只能从 阅读全文
posted @ 2016-04-18 22:36 姜姜csu 阅读(16291) 评论(0) 推荐(2) 编辑
摘要: 在上一篇随笔(顺序表基本操作算法的代码实现)中,LocateElem()函数的第三个形参的形式是: Status (*compare)(Elemtype e,Elemtype temp); 这是一个函数指针变量,借此机会记录一下函数指针变量和指针型函数的区别。 一、写法上的区别 上面是一个例子,可看 阅读全文
posted @ 2016-04-17 23:02 姜姜csu 阅读(3130) 评论(0) 推荐(1) 编辑
摘要: 这两天实现了一下顺序表的相关操作,包括顺序表初始化、创建、遍历、第i个元素前插入,删除第i个元素、查找元素e的位置、清空顺序表、销毁顺序表、合并两个非递减顺序表操作。 这次在网上学习到了新的布局方法,将顺序表的存储结构定义,函数说明部分放在了头文件里,源文件中实现的是主函数和各功能函数。 这次使用的 阅读全文
posted @ 2016-04-16 23:17 姜姜csu 阅读(2035) 评论(0) 推荐(0) 编辑
摘要: 这次实现的是带头结点的单链表的初始化、遍历、创建、插入、删除、判断链表是否为空、求链表长度函数,编译环境是vs2013。 其中插入和删除函数中循环的条件目前还不太明白。 阅读全文
posted @ 2016-04-12 23:34 姜姜csu 阅读(779) 评论(0) 推荐(1) 编辑
摘要: 关于递归函数的认识是在学习了数据结构的栈这一概念后有新的理解。 首先说一下递归函数的概念,我的理解就是一个自己调用自己本身的函数。既然是调用函数,那先看一下普通的函数调用问题。 一、普通函数调用问题 用主函数main()调用函数sum()函数来作比: void main(){ //其他语句1 sum 阅读全文
posted @ 2016-04-10 23:03 姜姜csu 阅读(550) 评论(0) 推荐(1) 编辑