注册 登录
编程论坛 C++教室

链表还没怎么看,让我情何以堪~~~~纠结的

lianjiecuowu 发布于 2011-06-17 19:22, 535 次点击
#include <iostream>
#include<conio.h>
using namespace std;
//enum bool{false,true};
struct element
{
    int val;
    element *next;
};
class list
{
    element *elems;
public:
    list(){element=0;}
    ~list();
    virtual bool insert(int);
    virtual bool deletes(int);
    bool contain(int);
    void print ();
};
class set:public list
{
    int card;
public:
    set(){card=0;}
    bool insert(int);
    bool deletes(int);

};
list::~list()
{
    element *tmp=elems;
    for(element *elem=elems;elem!=0;)
    {
        tmp=elem;
        elem=elem->next;
        delete tmp;
    }
}
bool list::insert(int val)
{
    element *elem=new element;
    if(elem!=0)
    {
        elem->val=val;
        elem->next=elems;
        elems=elem;
        return true;
    }
    else return false;
}
bool list::deletes(int val)
{
    if(elems==0)return false;
    element *tmp=elems;
    if(elems->val==val)
    {
        elems=elems->next;
        delete tmp;
        return true;
    }
    else
        for(element*elem=elems;elem->next!=0;elem=elem->next)
            if(tmp=elem->next->val==val)
            {
                tmp=elem->next;
                elem->next=tmp->next;
                delete tmp;
                return true;
            }
            return false;
}
bool list::contain(int val)
{
    if(elems==0)return false;
    if(elems->val==val)return true;
    else
        for(element*elem=elems;elem->next!=0;elem=elem->next)
            if(elem->next->val==val)
                return true;
            return false;
}
void list::print()
{
    if(elems==0) return;
    for(element *elem=elems; elem!=0; elem=elem->next)
        cout<<elem->val<<"  ";
    cout<<endl;
}
bool set::insert(int val)
{
    if((1))
    {
        ++card;
        return true;
    }
    return false;
}
bool set::deletes(int val)
{
    if(list::deletes(val))
    {
        (2);
        return true;
    }
    return false;

}
int main()
{
    list *ptr,list1;
    list *ptr,list1;
    set set1;
    ptr=&list1;
    ptr->insert(30);
    ptr->insert(40);
    ptr->insert(543);
    ptr->insert(40);
    ptr->print();
    ptr=&set1;
    ptr->insert(23);
    ptr->insert(672);
    ptr->insert(456);
    ptr->insert(23);
    ptr->print();
    getch();
     system("pause");
     return 1;
  

}
5 回复
#2
ToBeStronger2011-06-17 21:03
我也只会STL链表,不会数据结构与算法分析的链表
#3
lianjiecuowu2011-06-17 21:48
回复 2楼 ToBeStronger
ing....不急,放假以后好好学...加油~~~~~
#4
xg56992011-07-30 22:39
以下是引用ToBeStronger在2011-6-17 21:03:15的发言:

我也只会STL链表,不会数据结构与算法分析的链表
我只会最简单的面向对象链表,摸板STL神马都还没学...
#5
我来打酱油2011-07-31 15:56
慢慢学,青春年少啊,还有时间和机会!!
#6
ddy32112011-08-02 17:02
哈哈...痛苦啊...
这个暑假有好多东西要学啊!
时间明显不够啊!
1