每天一个小算法还是有点没时间,尽量抽出时间写一写。今天是合并有序的链表,对单链表有点忘了,尤其是指针指来指去的,有点晕,幸好基础还算好,想了想还是能想回来。代码使用随机数函数生成一个链表,然后对链表排序,最后合并链表并打印,删除链表的函数于算法无关紧要,所以未实现^_^。在Linux/g++下编译运...
                            
                            
                                分类:
其他好文   时间:
2014-06-16 09:07:08   
                                阅读次数:
216
                             
                         
                    
                        
                            
                            
                                Add Two Numbers
You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two...
                            
                            
                                分类:
其他好文   时间:
2014-06-11 00:35:15   
                                阅读次数:
243
                             
                         
                    
                        
                            
                            
                                链表模拟加法/字符串模拟二进制加法/数组模拟加一操作/打印1到最大的n位数/字符串模拟乘法============================================Add 
Two Numbers两个链表代表两个数字,每个结点的值都是一位数字,单链表逆序存放这两个数字,构造出一个新的链表...
                            
                            
                                分类:
其他好文   时间:
2014-06-10 22:02:23   
                                阅读次数:
409
                             
                         
                    
                        
                            
                            
                                问题:
给定个单链表,判断该链表是否存在环。
分析:
这个问题是见的非常多的题目,问题本身而言,技巧性很强,或者说思路很巧妙,这里要说的不是这个题目本身,而是说这种技巧,在很多的地方是用的到的,比如,在寻找单链表的中间节点的时候,就可以用这种形式,一个走两步,一个走一步的形式,来获得中间节点。
//
 bool hasCycle(ListNode *head) {
        if(...
                            
                            
                                分类:
其他好文   时间:
2014-06-10 10:48:49   
                                阅读次数:
176
                             
                         
                    
                        
                            
                            
                                链表的分类:
单链表:
双链表:
每一个节点有两个指针域
 
循环链表:
能通过任何一个节点找到其它所有的结点
非循环链表:
算法:
遍历
查找
清空
销毁
求长度
排序
删除节点
插入节点
 
下面举个例子
例1:
{CSDN:C...
                            
                            
                                分类:
其他好文   时间:
2014-06-10 06:58:23   
                                阅读次数:
244
                             
                         
                    
                        
                            
                            
                                Node* findMid(Node* &head){ if(head == 
NULL||head->next == NULL) return head; Node* p = head; Node* q = head; 
while(q->next->ne...
                            
                            
                                分类:
其他好文   时间:
2014-06-09 17:55:34   
                                阅读次数:
204
                             
                         
                    
                        
                            
                            
                                #include using namespace std;struct Node{ Node 
*next; int elem;};void creatList(Node* &head){ head = new Node; int elem; 
cin>>elem; ...
                            
                            
                                分类:
其他好文   时间:
2014-06-09 17:50:43   
                                阅读次数:
219
                             
                         
                    
                        
                            
                            
                                #include using namespace std;struct Node{ Node 
*next; int elem;};void creatList(Node* &head){ head = new Node; int elem; 
cin>>elem; ...
                            
                            
                                分类:
其他好文   时间:
2014-06-09 16:07:55   
                                阅读次数:
229
                             
                         
                    
                        
                            
                            
                                单链表删除结点操作:方法一. 
从链表的第一个结点开始遍历,顺序遍历到需删除结点的前一个结点,然后调整指针指向 T(n) = O(n)方法二. 将 需删除结点i的下一个结点j(如果存在) 
的值赋值给 需删除结点i,然后 删除结点j,这就相当于删除了结点i T(n) = O(1)需要注意以下几点:1. ...
                            
                            
                                分类:
其他好文   时间:
2014-06-09 15:05:28   
                                阅读次数:
208
                             
                         
                    
                        
                            
                            
                                在面试,笔试的过程中经常会遇到面试官问这种问题,实现单链表的倒置方法。现在对单链表的倒置犯法做个记录,方便自己以后查看。单链表的定义: 1 public 
class Node { 2 3 int v; 4 Node next; 5 public Node(){ ...
                            
                            
                                分类:
编程语言   时间:
2014-06-08 22:22:59   
                                阅读次数:
352