Lnode *Creat_Linklist2()//尾插法建立单链表 { Lnode *L=NULL; Lnode *s,*r=L; int x;//设置元素类型为int scanf("%d",&x); while(x!=0)//0结束输入 { s=(Lnode*)malloc(sizeof(Lnode));//申请结点 s->data=x; if(L==NULL)//第一个结点处理 { L=s; } else { r->next=s;//r代表最后一个结点,把s插入该结点之后 } r=s;//让r重新指向最后一个结点 scanf("%d",&x); } if(r!=NULL) { r->next=NULL;//对于非空表,最后结点指针域置空 } printf("成功建立链表!\n"); return L; }什么意思
时间: 2024-03-14 16:48:53 浏览: 20
这段代码是用尾插法创建一个单链表。它首先定义了一个指向链表头节点的指针L,以及两个指向节点的指针s和r。然后它通过循环,输入一些整数,并分配一个新的节点s,将输入的整数存储在s的数据域中。如果这是第一个节点,它将L指向s,否则它将s插入到r之后,然后更新r指针指向s,以便下一次输入。当输入的整数为0时,输入结束。最后,它将最后一个节点的指针域设置为NULL,并返回指向链表头节点的指针L。
相关问题
#include <stdio.h> #include <stdlib.h> typedef int ElemType; typedef enum{false=0,true=1}bool; typedef struct Lnode{ ElemType data; struct Lnode *next; int length; }Lnode,*Linklist; //初始化单链表 bool InitList(Lnode *L); //(头插法)创建单链表 void CreateListListF(
(Linklist L, int n) {
Linklist p;
int i;
L = (Lnode *)malloc(sizeof(Lnode));
L->next = NULL;
printf("请输入链表的元素:\n");
for (i = 0; i < n; i++) {
p = (Lnode *)malloc(sizeof(Lnode));
scanf("%d", &(p->data));
p->next = L->next;
L->next = p;
}
L->length = n;
return true;
}
#include<stdio.h> #include<stdlib.h> typedef int ElemType; typedef enum{false=0,true=1}bool; typedef struct node{ ElemType data; struct node *next; }Lnode,*Linklist; //初始化单链表 bool InitList(Lnode*&L); //(头插法)创建单链表 void CreateListListF(Lnode *&L,ElemType a[],int n); //初始化单链表 bool InitList(Lnode *L){ L=(Lnode*)malloc(sizeof(Lnode)); L->next=NULL; if(L==NULL)//内存不足,头结点无法分配到空间 return false; return true; } //(头插法)创建单链表 void CreateListF(Lnode *&L,ElemType a[],int n){ Linklist s; L=(Lnode*)malloc(sizeof(Lnode)); L->next=NULL; int j=0; for(j=0;j<n;j++){ s=(Lnode *)malloc(sizeof(Lnode)); s->data=a[j]; s->next=L->next; L->next=s; } }
这段代码是用C语言实现的单链表的初始化和创建,其中包括了头插法创建单链表的函数。代码中定义了一个结构体node,它包含了一个数据域data和一个指向下一个结点的指针next。代码中还定义了一个typedef枚举类型bool,用来表示true和false。函数InitList用来初始化单链表,函数CreateListF用来通过头插法创建单链表。函数的具体实现如下:
```c
#include<stdio.h>
#include<stdlib.h>
typedef int ElemType;
typedef enum{false=0,true=1}bool;
typedef struct node{
ElemType data;
struct node *next;
}Lnode,*Linklist;
// 初始化单链表
bool InitList(Lnode*& L){
L=(Lnode*)malloc(sizeof(Lnode));
L->next=NULL;
if(L==NULL) // 内存不足,头结点无法分配到空间
return false;
return true;
}
// 头插法创建单链表
void CreateListF(Lnode*& L, ElemType a[], int n){
Linklist s;
L=(Lnode*)malloc(sizeof(Lnode));
L->next=NULL;
int j=0;
for(j=0;j<n;j++){
s=(Lnode *)malloc(sizeof(Lnode));
s->data=a[j];
s->next=L->next;
L->next=s;
}
}
```
你有什么其他问题吗?
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)