#include <iostream>
using namespace std;
typedef struct node //定义链表节点相关结构体
{
int data;
struct node *next;
}Node;
struct linklist //定义链表结构体
{
public:
void create()
{
head = new Node; //给头节点开辟空间
if(head == NULL)
{
cout << "new failed" << endl;
return;
}
head->data = -1; //给头节点的数据域赋值
head->next = NULL; //给头节点的指针域赋值
}
void insert(int m_data) //头插法
{
Node *m_new = new Node; //创建一个新的节点
if(m_new == NULL)
{
cout << "new failed" << endl;
return;
}
m_new->data = m_data;
m_new->next = NULL;
m_new->next = head->next; //将新节点插入到头节点后
head->next = m_new;
}
void show()
{
Node *p = head->next;
while(p != NULL) //循环遍历链表打印每一个节点数据
{
cout << p->data << " ";
p = p->next;
}
cout << endl; //换行
}
private:
Node *head;
};
int main()
{
struct linklist list;
list.create();
int n = 10;
while(n--)
{
list.insert(n);
}
list.show();
return 0;
}