堆栈与队列 F2016-06-28 数据结构 1789 公开 堆,栈主要包括两个方面,一是指内存中的堆和栈,二是指数据结构中的堆和栈。 一、内存中的堆和栈 在C语言中,栈主要是用来存放局部函数的参数和局部变量的值,由系统自动分配释放,具体的操作和数据结构的栈一样,即先进后出;而堆是由程序员自动分配释放(malloc,calloc等),如果不释放,就会由操作系统自动回收,操作类似于链表。 栈中分配局部变量空间,堆区是向上增长的用于 阅读全文
字符串中第一个不重复的字符 F2016-06-21 数据结构 1567 公开 思想:首先初始化一个哈希表,然后开始遍历字符串,每遍历一个字符串,当第一次出现的字符串位置信息存储到哈希表中,如果多次出现,就将值设为-1。遍历字符串之后,再遍历哈希表,得到value值大于1,并且位置信息最小的那个就是第一个不重复的字符串。 Python实现: def find_first_single_char(str): 21 hash_table = 阅读全文
双链表学习 F2016-06-20 数据结构 1515 公开 有了单链表的理解,双链表就好些了。双链表的遍历,查找某个结点和单链表比较相似。只是在删除和插入的时候要指明前后的指针 #include #include typedef struct node { int data; struct node *pre; struct node *next; }N 阅读全文