#include<iostream>
typedef int Ele;
using namespace std;
int main()
{
struct Node
{
Ele data;
struct Node* next;
Node()
{
data = 234;
next = NULL;
}
~Node()
{}
};
typedef Node* linklist;
//也即是说,这样的声明的变量只能是当分配空间之后才能使用这个
linklist temp =new struct Node;
linklist temp_2;
for(int i =0; i <100; ++i)
{
linklist n= new struct Node;
n->data = i;
n->next = NULL;
if(i==0)
temp->next = n;
else
temp_2->next = n;
temp_2 = n;
}
for (int i =0; i < 100; ++i)
{
cout << temp->next->data << endl;
temp = temp ->next;
}
return 0;
}
typedef int Ele;
using namespace std;
int main()
{
struct Node
{
Ele data;
struct Node* next;
Node()
{
data = 234;
next = NULL;
}
~Node()
{}
};
typedef Node* linklist;
//也即是说,这样的声明的变量只能是当分配空间之后才能使用这个
linklist temp =new struct Node;
linklist temp_2;
for(int i =0; i <100; ++i)
{
linklist n= new struct Node;
n->data = i;
n->next = NULL;
if(i==0)
temp->next = n;
else
temp_2->next = n;
temp_2 = n;
}
for (int i =0; i < 100; ++i)
{
cout << temp->next->data << endl;
temp = temp ->next;
}
return 0;
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
其实这里可以看出为什么要给链表保留一个头结点,这样在循环的创建链表是非常方便的,而且在遍历时也很好,当然在遍历是确实可以不要这样麻烦。
这里值得一提的是关于typedef struct 这个的用法,在这里其实c语言和c++语言是非常不同的,具体的请参考别人的文章