선형 링크 의 기본 조작

1438 단어 데이터 구조
선형 링크 에서 흔히 볼 수 있 는 동작: 삽입, 삭제, 찾기 등.다음은 꼬리 삽입 법 으로 만 든 선형 링크 입 니 다.
#include 
#include 
#include 

using namespace std;

struct node
{
    int val;
    node *next;
};

node *head,*p,*q;

void Init()
{
    head = new node();
    q = head;
}

void Insert(int x)   //   
{
    p = new node();
    p->val = x;
    q->next = p;
    q = p;
    q->next = NULL;
}

int Find(node *t,int k) //   k     
{
    int cnt = 1;
    node *p = t;
    p = t->next;
    while(p != NULL && (cnt < k))
    {
        p = p->next;
        cnt++;
    }
    return p->val;
}

bool Search(node *t,int x)  //     x         
{
    node *p = t;
    while(p != NULL)
    {
        if(p->val == x) return true;
        p = p->next;
    }
    return false;
}

void Delete(node *t,int x)
{
    node *q = t,*p;
    p = q->next;
    while(p != NULL && (p->val != x))
    {
        q = p;
        p = p->next;
    }
    q->next = p->next;
    delete p;
}

void Print()
{
    node *t = head;
    t = t->next;
    while(t != NULL)
    {
        printf("%d ",t->val);
        t = t->next;
    }
    cout<>n)
    {
        Init();
        while(n--)
        {
            cin>>x;
            Insert(x);
        }
        Print();
    }
    return 0;
}

 

좋은 웹페이지 즐겨찾기