#include<iostream>
using namespace std;
struct List
{
int data;
struct List *next;
};
//创建链表头
struct List *CreateHeadNode()
{
struct List * headNode = new struct List;
headNode->next = NULL;
return headNode;
}
//创建节点
struct List *CreateNewNode(int data )
{
struct List * newNode = new struct List;
newNode->data = data;
newNode->next = NULL;
return newNode;
}
//头插法插入节点
void inserNode(struct List *head,int data)
{
struct List * Node = CreateNewNode(data);
Node->next = head->next;
head->next = Node;
}
//尾插法插入节点
void TailNode(struct List *head )
{
struct List * newNode = new struct List;
struct List * Pmove = head;
for (int i = 0; i < 10;i++)
{
newNode= CreateNewNode(i);
Pmove->next = newNode;
Pmove = newNode;
}
Pmove->next = NULL;
}
//打印链表
void printfList(struct List * head)
{
struct List * pmove = head->next;
while (pmove!=NULL)
{
printf("%d\t", pmove->data);
pmove = pmove->next;
}
printf("\n");
}
int main()
{
struct List * head1 = CreateHeadNode();
for (int i = 0; i < 10;i++)
{
inserNode(head1, i);//头插法插入10个值
}
printfList(head1);//打印头插法插入的值
TailNode(head1);//尾插法插入10个值
printfList(head1);//打印尾插法插入10个值
return 0;
}
动态链表插入
最新推荐文章于 2022-04-09 12:15:27 发布