數據結構:線性表之循環鏈表

循環鏈表對比單鏈表,只是要把最後一個節點的指針指向頭指針,所以,在遍歷時要注意,結束條件是p!=L,其餘類同。

#include<iostream>
using namespace std;

typedef struct LNode
{
    int data;
    struct LNode *next;
}LNode,*Link;

void Init_Link(Link &L)
{
    L = new LNode;
    L->next = L;
}

void Insert_Link(Link &L,int i,int e)
{
    if(i < 1)
        return;
    Link p;
    p = L;
    int j = 1;
    while(p && j < i)
    {
        j++;
        p = p->next;
    }
    LNode *s;
    s = new LNode;
    s->data = e;
    s->next = p->next;
    p->next = s;

}

void Traverse(Link L)
{
    Link p;
    p = L->next;
    while(p!=L)
    {
        cout << p->data << " ";
        p = p->next;
    }
}

int main()
{
    Link L;
    Init_Link(L);
    for(int i = 1; i < 5;i++)
    {
        Insert_Link(L,i,i);
    }
    Traverse(L);
}

 

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