建立该链表利用的是尾插法
// 创建一个单链表,没有头结点,
#include <iostream>
#include <ctime>
using namespace std;
//------------------------------------------------
//************************************************
// 结构名 LNode ;
// 结构的作用:单链表的节点
// 节点数据的说明: data 关键字
// next 指向下一个节点的指针
//**********************************************
struct LNode
{
int data;
LNode *next ;
};
//------------------------------------------------
//**********************************************
// 函数名:LinkCreate();
// 函数的功能:建立一个不带头结点的单链表
// 参数说明: head 指向链表第一个节点的指针
// size 链表节点的个数
// 注意:在该函数里链表里关键字是rand()函数生成的随机数,不是利用scanf()函数输入的
//**********************************************
void LinkCreate(LNode *&head ,int size ) // size表示链表节点的数目
{
head = NULL ;
LNode * p = NULL ;
LNode * q = NULL ;
for (int i =0; i< size ;++ i)
{
p = new LNode ;
p->data = rand()%1000; //生成随机数
p->next = NULL ;
if (head == NULL )
{
head = p ;
q = p ;
}
else
{
q->next = p ;
q = p ;
}
}
}
//------------------------------------------------
//**********************************************
// 主函数
//**********************************************
int main()
{
srand(time(0));
LNode * p ;
LinkCreate(p,10);
while (p != NULL )
{
cout << p->data << endl;
p = p->next;
}
return 0;
}
//------------------------------------------------