链表中头结点的作用:
在插入和删除操作时,如果在第一个元素前插入一个元素,或者删除第一个元素,这样就需要改变头指针的指向,我们一般希望不要改变头指针的指向。并且在中间插入或删除时又不需要改变头指针,这样不统一,稍微看不来不舒服。
常见数据结构应用场景:
队列:先进先出,例如银行排队取号,图的广度优先遍历,socket中listen队列
栈:表达式求值,浏览器的返回与前进
浏览器返回与前进:
使用两个栈forward和backward来完成,例如现在正在访问www.abc.com,然后访问www.baidu.com,这时候把www.abc.com压入backward中,这时候再打开www.sina.com,把www.baidu.com压入backward中,这时候返回www.baidu.com时,把www.sina.com压入栈forward中...