/**
* ##$$$------单链表的新建------¥¥¥###@me
* @return
*/
#include <stdio.h>
#include <stdlib.h>
typedef int ElemType; //定义整型的代号
typedef struct LNode{ //定义一个单链表
ElemType data;//数据域
struct LNode *next;//指针域,next指向下一个结点的地址,最后一个结点next为NULL
}LNode,*LinkList;
/**
* ------链表的初始化--------
* @param L
*/
void LinkHearInsert(LinkList &L){
//LinkList L;//头指针
L = (LinkList)malloc(sizeof(LNode));//申请头指针的内存空间
L->next=NULL;//目前只有一个头结点
ElemType x; //定义一个链表类型的变量
scanf("%d",&x);//读入一个数赋给这个变量
while(x!=00){
LNode *s;//定义第一个结点
s=(LinkList)malloc(sizeof(LNode));//为第一个结点动态申请内存空间
s->data=x;//将读入的值保存到第一个结点的数据域
s->next=L->next;//将头指针的next保存到第一个结点的指针域,使其指向下一个结点或者为NULL
L->next=s;//将第一个结点的地址存到头指针的指针域
scanf("%d",&x);//读取下一个值,再度循环将所输入的值存入链表内
}
}
/**
* -----打印链表---------
* L->[]->
* @return
*/
void LinkListPrint(LinkList L){
L=L->next;//头指针指向第一个借点
while(L!=NULL){//下一个结点不是空值
printf("%5d",L->data);
L=L->next;//使头指针指向下一个结点
}
printf("\n");
}
int main() {
LinkList L;//头指针
LinkHearInsert(L);
LinkListPrint(L);
return 0;
}
单链表的新建-头插法-代码展示
于 2023-03-10 22:20:48 首次发布