惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
博客园 - Franky
GbyAI
GbyAI
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
爱范儿
爱范儿
IT之家
IT之家
酷 壳 – CoolShell
酷 壳 – CoolShell
aimingoo的专栏
aimingoo的专栏
博客园_首页
MongoDB | Blog
MongoDB | Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
Scott Helme
Scott Helme
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
C
CERT Recently Published Vulnerability Notes
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
L
LangChain Blog
L
LINUX DO - 最新话题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Hacker News: Front Page
MyScale Blog
MyScale Blog
P
Palo Alto Networks Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
AI
AI
T
Troy Hunt's Blog
Microsoft Azure Blog
Microsoft Azure Blog
阮一峰的网络日志
阮一峰的网络日志
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Vercel News
Vercel News
Microsoft Security Blog
Microsoft Security Blog
罗磊的独立博客
S
Secure Thoughts
大猫的无限游戏
大猫的无限游戏
博客园 - 叶小钗
人人都是产品经理
人人都是产品经理
Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
S
Security @ Cisco Blogs
Cloudbric
Cloudbric
E
Exploit-DB.com RSS Feed
Attack and Defense Labs
Attack and Defense Labs

博客园 - stone

release 版本dll的调试 dead lock in thread pool Excel C# Automation 如何让iframe 自动适应窗口的高度 自定义Silverlight toolkit 里面的 Column Chart 的data point 二叉树算法题 How to do live debug the Managed code in Windows Phone 7 BUG: "Old format or invalid type library" error when automating Excel on 64 bit server 2008 - stone enable Assembly Load Trace 不合法的XML字符必须被替换为相应的实体 - stone - 博客园 如何修改 VS 自动生成的 COM interop dll VS中Sos调试扩展简介 (转帖) Sql server 2005 connection string - stone Get depth of BTree Quick sort C# code(2) Quick sort C# code use the network trace, from msdn. - stone 字节流编码获取原来这么复杂,但也很简单 通过DataTable获得表的主键 让IE支持自己的协议
单链表操作相关算法
stone · 2010-11-09 · via 博客园 - stone
整理一些面试当中经常遇到的问题 帮助自己记忆.
链表的类型: 单向链表,双向链表,循环链表

C++ 链表的例子

typedef struct IntElement {
  struct IntElement *next;
  int data;
} IntElement;
c# 实现 
public class LinkNode {
   public LinkNode Next;
public object Data;
}
操作链表常犯的错误:
C#
public void insertInFront( LinkNode list, Object data){
   LinkNode temp = new LinkNode();
   temp.Data = data;
   temp.next = list;   
}
错误原因是没有更新Header的引用, 解决的办法是使用引用参数 ref LinkNode 或者是返回新的头节点
C++
bool insertInFront(IntElement *head, int data){
     IntElement *newElement = new IntElement();
if(!newElement) return false;
     newElem -> data = data;
head = newElem;
return true;
}
正确的方法应该是: 
IntElement * insertInFront(IntElement *head, int data){
     IntElement *newElement = new IntElement();
if(!newElement) return false;
     newElem -> data = data;
     newElem -> next = *head -> next;
return newElem;
}
 
删除单链表的节点:
bool deleteElement(IntElement** head, IntElement* deleteMe)
{
    IntElement* element = *head;
    if(*head == deleteMe){
         *head = element ->next;
         delete deleteMe;
         return true;
    }
    while(element){
         if(element-> next == deleteMe){
             element->next = deleteMe->next;
             delete deleteMe;
             return true;
         }
         element = element->next;
    }
    return false;
}
 删除整个链表
 
public void CleanList(IntElement** head){
   IntElement* element = *head;
   while(element){
       IntElement* next = element->next;
       delete element;
       element = next;
    }
    *head = NULL;
}
 使用单链表实现一个栈.