在建立单链表的时候 头插法与尾插法时最最常见的,话不多说直接进入正题
头插法 的两种方式
顾名思义 从链表的开头开始插入结点——先进后出。 在头节点之后插入节点 新插入的结点指向上一次插入的结点
方法一
typedef struct Node
{
int a;
struct Node* next;
}Node;
//int main() //
//{
// Node* hand, * p;
// hand = (Node*)malloc(sizeof(Node));
// hand= NULL;//建立一个空的头指针
// for (int n = 0; n < 5; n++)
// {
// p = (Node*)malloc(sizeof(Node));
// scanf("%d", &p->a);
// p->next = hand; // 新结点的下一个结点为上一个结点
// hand = p; // 最后更新指针域
// }
// while (hand != NULL)
// {
// printf("%d\n",hand->a);
// hand = hand->next;
// }
// return 0;
//}
方法二
typedef struct Node
{
int a;
struct Node* next;
}Node;
int main()
{
Node* hand, * p;
hand = (Node*)malloc(sizeof(Node));
hand->next = NULL;//将链表第二位结点初始化 以便后续的连续赋值地址
for (int n = 0; n < 5; n++)
{
p = (Node*)ma