| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 752 人关注过本帖
标题:[求助]菜鸟求助a
只看楼主 加入收藏
apodemas
Rank: 1
等 级:新手上路
帖 子:153
专家分:0
注 册:2005-4-22
收藏
 问题点数:0 回复次数:6 
[求助]菜鸟求助a
我自己想把刚学过用C描述的数据结构及其算法用C++类的方式编一下,但刚到了链表就止步了 ...
请各位高手老手新手帮帮忙吧~~~~假期期间可是联系不到老师啊:
#include <iostream>
using namespace std;
class node
{
private:
 int data;
 node * next;
public:
 node(int x){         //构造
  data=x;
  }
 void join(int x){    //join ,从最后接入
  node * p=next;
  while(p->next)
  {
   p=p->next;
  }
  node * q=new node(x);
  p->next=q;
  
 }
};
void main(){
 node v(1);
 v.join(5);
}
这是代码的一部分,但编译连接时候没事,却运行不了.什么问题(我知道小不了)?
由于我C++描述的教材(没看前想自己编下玩),所以请前辈们尽量在原意思上指出错误.
拜谢~~拜谢~~~
搜索更多相关主题的帖子: private include public 
2005-08-02 19:39
Stayor
Rank: 1
等 级:新手上路
帖 子:137
专家分:0
注 册:2005-8-4
收藏
得分:0 
你怎么知道问题是出在这段代码中的。
2005-08-07 16:42
apodemas
Rank: 1
等 级:新手上路
帖 子:153
专家分:0
注 册:2005-4-22
收藏
得分:0 
我把别的屏蔽测试了.

2005-08-07 19:19
Stayor
Rank: 1
等 级:新手上路
帖 子:137
专家分:0
注 册:2005-8-4
收藏
得分:0 
建议做成双向的链表,就可以在任意位置插入新的节点。
2005-08-09 22:35
kai
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:52
帖 子:3450
专家分:59
注 册:2004-4-25
收藏
得分:0 
// try it
#include <iostream>
using namespace std;

class Node
{
private:
    int data;
    Node * next;
public:
    Node(int x) //¹¹Ôì
    {         
        data = x;
        next = NULL;
  }
    Node * getNext()
    {
        return next;
    }
    int getData()
    {
        return data;
    }
    void join(int x) //join £¬just his next
    {
        next = new Node(x);
    }
};

class Queue
{
private:
    Node * node;
public:
    Queue()
    {
        node = NULL;
    }
    Queue(int x)
    {
        node = new Node(x);
    }
    void enqueue(int x)    // join, from the rear
    {
        Node * temp = node;
        while(temp != NULL)
        {
            if(temp->getNext() != NULL)
                temp = temp->getNext();
            else
                break;
        }
        if(temp != NULL)
            temp->join(x);
    }
    void show()
    {
        Node * temp = node;
        while(temp != NULL)
        {
            cout<<temp->getData()<<" ";
            temp = temp->getNext();
        }
    }
};

int main()
{
    Queue v(1);
    v.enqueue(5);
    v.enqueue(8);
  v.show();
    return 0;
}

自由,民主,平等,博爱,进步.
中华民国,我的祖国,中华民国万岁!中华民国加油!
本人自愿加入中国国民党,为人的自由性,独立性和平等性而奋斗!
2005-08-10 11:05
apodemas
Rank: 1
等 级:新手上路
帖 子:153
专家分:0
注 册:2005-4-22
收藏
得分:0 
1.多谢多谢啦~我下去仔细看看.
2.但您知道我的问题在哪吗?
3.大家谁有自创的发下吧,看不同人的解法真的很爽啊~

[此贴子已经被作者于2005-8-10 20:35:39编辑过]



2005-08-10 11:58
apodemas
Rank: 1
等 级:新手上路
帖 子:153
专家分:0
注 册:2005-4-22
收藏
得分:0 
原来是个低级错误: #include <iostream> using namespace std; class node { private: int data; node * next; public: node(int x){ //构造 data=x; next=NULL; } void join(int x){ //join ,从最后接入 node * p=this;// 原来是next while(p->next) { p=p->next; } node * q=new node(x); p->next=q; } }; void main(){ node v(1); v.join(5); }

2005-08-17 19:58
快速回复:[求助]菜鸟求助a
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012436 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved