具有随机整数C ++的链表

时间:2014-09-08 23:16:50

标签: c++ linked-list

我有一个创建链表的作业。我必须创建一个节点"模板化的类,用于保存任何类型的数据项和指向另一个节点的指针。创建一个链接列表类,其中包含"添加"和显示方法。创建一个" main"程序在循环中向列表中添加20个整数,并通过一次调用display方法显示列表中的所有数据。即。不要使用循环来显示"显示"方法。

我遇到的问题是,当我运行程序时,窗口出现,并且没有任何内容打印到屏幕上。我运行调试器,它没有显示任何错误。

#include "stdafx.h"
#include <iostream> 
#include "time.h"
using namespace std; 


template <typename T> 
class Node
{

public: 
    T data; 
    Node* next; 

    Node(int x, Node* addr) {
        data = x; 
        next = addr; 
    }
};


template <typename T> 
class linklist
{
private: 
    Node<T>* first; 
public: 
    linklist()
    {
        first = NULL;
    }
    void addItem(T d); 
    void display();
};


template <typename T> 
void linklist<T>::addItem(T d)
{
    Node<T> *newNode = new Node<T>; 
    newNode->data = d; 

    newNode->next = first; 
    first = newNode; 
}


template <typename T> 
void linklist<T> ::display()
{
    Node<T>* current = first; 
    while (current != NULL)
    {
        cout << current->data << endl; 
        current = current->next; 
    }
}

using namespace std; 

int _tmain(int argc, _TCHAR* argv[])
{

    linklist<int> intList;

    srand(time(NULL)); 


    for (int i = 0; i < 20; i++) 
    {
        int random = rand()%100; 
    }
    intList.display(); 
    cin.ignore(); 

    return 0;
}; 

1 个答案:

答案 0 :(得分:0)

您还没有调用您创建的addItem函数来添加列表中的项目。 由于列表为空,因此不会在屏幕上显示任何内容。生成随机数时,调用addItem方法以在列表中添加项。