数据结构
文章平均质量分 75
年少无知的无知少年
相看两不厌,唯有敬亭山。
展开
-
c/c++ 单链表 创建 插入 删除 翻转 打印
单链表的实现方式有很多,多数地方的代码不成体系,所以在此整理介绍一下,希望可以让你对单链表的知识有一个系统的认识。 大致说一下,单链表的结构是由指针将数据结点连接起来的数据结构,不同于数组,单链表是一种动态的数据结构,其结点在进行创建的时候,才进行内存的分配,而不是事先已经分配好的。 下面介绍单链表的创建过程。首先是定义结点的数据结构: typedef struct node { i原创 2017-08-03 14:07:35 · 895 阅读 · 0 评论 -
c/c++ 双向链表 创建 插入 删除
同单链表的操作方法类似,不过在结点中加入了一个指向结点前驱的指针。 #include #include #include #include #include using namespace std; typedef struct student { int data; struct student *next; struct student *pre; }dno原创 2017-08-03 14:12:14 · 3671 阅读 · 0 评论 -
c/c++ 单链表 单链表创建 从尾到头打印
剑指offer一书中指出对单链表的从尾到头打印的方法有两种,这两种方法都在不对链表进行修改的基础上进行的。 1:使用栈数据结构,遍历单链表,将数据存放到栈中,利用栈的“先进后出”特性,实现单链表的从尾到头打印;但是这种方法会造成额外的存储空间开销; 2:使用递归的方法,这里本质也是利用栈的特性,因为递归的本质是栈结构。但是这种方法,在链表的数据量较大的时候,可能会导致程序栈溢出。 下面的程序原创 2017-08-03 14:49:31 · 700 阅读 · 0 评论 -
c++ 类模板 用栈实现队列
c++语言可以利用STL库中定义的栈类实现队列的操作。 包括入队列、出队列操作。 下面就是用两个栈实现队列的上述操作。其中涉及到类模板的知识,不清楚的可以去其它地方进行查询。 #include #include using namespace std; template class CQueue { public: //CQueue(void); //~CQueue(v转载 2017-08-05 15:25:31 · 905 阅读 · 0 评论