PLinkListMerge(PLinkListpList1,PLinkListpList2){	PLinkListpList;	PLinkListend;	if(pList1==NULL)	{		returnpList2;	}	if(pList2==NULL)	{		returnpList1;	}	if(pList1==pList2)	{		returnpList1;	}	//摘一个节点做为新头节点	if(pList1->data<pList2->data)	{		p..
                            
                            
                                分类:
其他好文   时间:
2015-08-26 20:30:08   
                                阅读次数:
141
                             
                    
                        
                            
                            
                                1.hash_set集合容器
hash_set利用链式哈希表,进行数据的插入、删除和搜索。与set容器相同,不允许插入重复键值的元素。SGIC++哈希表是一个链式的结构,由表头和一系列单链组成。表头是一个数组式的线性表,用vector向量泛化出来。每个表头节点,称为桶(bucket),是一个指针域,指向链入的元素数据。表头的长度为向量容器的元素个数。
哈希表中数据的遍历,迭代器从0号桶、1号桶...
                            
                            
                                分类:
其他好文   时间:
2015-08-19 11:13:45   
                                阅读次数:
319
                             
                    
                        
                            
                            
                                前言使用没有指针的语言模拟实现数据结构,会碰到一些莫名奇妙的问题单向循环链表之前学习的链表都是单向且最后一个节点指向空节点,如果最后一个节点指向头节点,这样就形成了一个环,名字叫单向循环列表,简称循环列表源码(JS模拟实现)包含了头指针以及尾指针的实现/** * @desc 循环链表 * * @au...
                            
                            
                                分类:
其他好文   时间:
2015-08-16 21:16:54   
                                阅读次数:
136
                             
                    
                        
                            
                            
                                给出一个链表的头指针,要求找到倒数第k个节点,并输出这个节点的值例子:先看一个例子,链表为:1 2 3 4 5 6,倒数第2个节点就是5,倒数第一个节点就是6,以此类推。这里的链表有头节点,就是说head->next才是指向第一个节点的。链表的数据结构如下:1 // ListNode2 typede...
                            
                            
                                分类:
其他好文   时间:
2015-08-05 21:46:59   
                                阅读次数:
191
                             
                    
                        
                            
                            
                                /*
	 * 带头节点
	 */
	ListNode * reverse(ListNode *head) {
		if (head == NULL || head->next == NULL)
			return head;
		ListNode nhead(-1);//头节点
		nhead.next = head;
		ListNode *prev = head;
		ListNode *n...
                            
                            
                                分类:
其他好文   时间:
2015-08-02 23:29:04   
                                阅读次数:
225
                             
                    
                        
                            
                            
                                基于之前做的单向链式线性表http://blog.csdn.net/shiwazone/article/details/47000191,改进下,实现了循环链表,相对应单向链表,循环链表将尾节点的指针域指向头节点,加入循环,可以让我们在查找某一个index的节点时,可以先判断一下位置和链表长度的关系,如果index处于链表的前半部分,我们可以从头节点遍历查找,如果处于后半部分,我们可以从尾节点往前...
                            
                            
                                分类:
编程语言   时间:
2015-07-23 09:33:24   
                                阅读次数:
185
                             
                    
                        
                            
                            
                                链表常见题型:
1.找到单链表的倒数第k个节点。
2.删除单链表中的某个结点(O(1))。
3.反转链表。
4.两个链表的第一个公共结点。
5.有环链表返回环路的开头节点(及判断是否有环)。
6.合并两个排序的链表。
7.删除链表中重复的结点。...
                            
                            
                                分类:
编程语言   时间:
2015-07-22 00:10:20   
                                阅读次数:
279
                             
                    
                        
                            
                            
                                书上的题目,带头链表&不带头链表不带头链表为空时,判断:head==NULL;带头链表为空是,判断head->next=NULL;但对于链表的插入、删除会有不同,不带头链表对于头节点需要单独处理,而对于带头链表则不需要 1 #include 2 using namespace std; 3 typ....
                            
                            
                                分类:
其他好文   时间:
2015-07-20 21:24:12   
                                阅读次数:
96
                             
                    
                        
                            
                            
                                反转单链表
1. 用数组将单链表的值存储在数组里。方法简单,但浪费空间。
2. 遍历链表,从第二个节点开始,将每个节点的next指向前一个节点。原链表的最后一个节点变为头节点。
3. 遍历链表,除第一个节点外,将每一个节点依次插到第一个节点后面。最后将第一个节点插到最后。
way 2 :
ListNode* reverse_1(ListNode* head){
    L...
                            
                            
                                分类:
其他好文   时间:
2015-07-20 16:39:43   
                                阅读次数:
96
                             
                    
                        
                            
                            
                                头指针存放链表元素数量,头节点开始存放数据,尾节点指向NULL list.h#ifndef _LIST_H#define _LIST_H#include #include #define DEBUG 0typedef struct node{ int val; struct nod...
                            
                            
                                分类:
其他好文   时间:
2015-07-18 12:16:47   
                                阅读次数:
140