最简单的c++链表

#include <iostream>
#include   <stdlib.h>
using namespace std;
class AD
{
public:
    int num;
    bool use;
    AD* next;
};
typedef AD* point;
void create(point &pHead)
{
    pHead=new AD;
    pHead->num=-1;
    pHead->use=false;
    pHead->next=NULL;
    cout<<"创建成功"<<endl;
    return;
}
void insert(point pHead)
{
    point pCur=pHead;

    while(pCur->next!=NULL)
    {
        pCur=pCur->next;
    }
    point pPro=new AD;

    cout<<"请输入要插入的值"<<endl;
    cin>>pPro->num;
    pPro->use=false;
    pPro->next=NULL;
    pCur->next=pPro;
    cout<<"插入成功"<<endl;
    return;
}
void print(point pHead)
{
    cout<<"队列中的情况:";
    int flg=0;
    while(pHead->next!=NULL)
    {
        flg=1;
        pHead=pHead->next;
        cout<<pHead->num<<" ";
    }
    if(!flg)
        cout<<"啥玩意儿也没有!!";
    cout<<endl;
}
void delet(point pHead)
{
    cout<<"请输入要删除的值"<<endl;
    int rt;
    cin>>rt;
    point pCur=pHead;
    int flg=0;
    while(pCur->next!=NULL)
    {
        if(pCur->next->num==rt)
        {
            flg=1;
            pCur->next=pCur->next->next;
            cout<<"删除成功!!"<<endl;

        }
        pCur=pCur->next;
    }
    if(!flg)
    {
        cout<<"要删除的值不存在!!"<<endl;
    }
}

void instead(point pHead)
{
    cout<<"请输入要替换的值"<<endl;
    int rt;
    cin>>rt;
    cout<<"请输入要成替换的值"<<endl;
    int dd;
    cin>>dd;
    point pCur=pHead;
    int flg=0;
    while(pCur->next!=NULL)
    {
        if(pCur->next->num==rt)
        {
            flg=1;
            pCur->next->num=dd;
            cout<<"替换成功!!"<<endl;

        }
        pCur=pCur->next;
    }
    if(!flg)
    {
        cout<<"要替换的值不存在!!"<<endl;
    }
}
void destory(point pHead)
{
    point pCur=pHead->next;

    while(pHead->next!=NULL)
    {
        delete pHead;
        pHead =pCur;
        pCur=pCur->next;
    }
    cout<<"删除链表成功!!"<<endl;
    return;
}
int main()
{
    point a;
    create(a);

    int op;
    while(1)
    {
        cout<<"请输入要进行的操作:0打印,1插入,2删除,3替换,4退出"<<endl;
        cin>>op;
        switch(op)
        {
        case 1:
            insert(a);
            break;
        case 2:
            delet(a);
            break;
        case 0:
            print(a);
            break;

        case 3:
            instead(a);
            break;
        case 4:
            destory(a);
            exit(0);
        }
    }






    return 0;
}
原文地址:https://www.cnblogs.com/jiangnanyanyuchen/p/6814374.html