鏈表學習

鏈表

優點:
* 可動態創建,內部自己維護。
* 可在鏈表中間添加元素。
* 插入、刪除方便,不會導致元素的移動。
* 在鏈表中間插入元素十分快速,不需要移動其它元素。

缺點:
* 不支持隨機訪問,訪問鏈表元素需要指針從鏈表的某個端點開始。
* 訪問數組元素的效率低。如,訪問第100個元素,必須從頭節一直next 99次才能訪問到。

示例

#include <iostream>
#include <list>
using namespace std;

int main()
{
    char cTemp;

    list<char> charList;

    for(int i=0; i<5; i++)
    {
        cTemp = 'a' + i;
        charList.push_front(cTemp);
    }

    cout << "list old:" << endl;

    list<char> ::iterator it;

    for(it = charList.begin(); it!= charList.end(); it++)
    {
        cout << *it << endl;    //輸出鏈表元素
    }

    list<char> ::iterator itstart = charList.begin();

    charList.insert(++itstart, 2, 'A'); //插入值

    cout << "list old" << endl;

    for(it = charList.begin(); it!=charList.end(); it++)
    {
        cout << *it << endl;    //輸出鏈表元素
    }

    return 0;
}

程序運行結果:

如有需要補充的,歡迎大家留言討論。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章