当前位置:首页 » 编程语言 » C语言单向链表结构英语翻译
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

C语言单向链表结构英语翻译

发布时间: 2022-05-02 18:42:40

❶ 单向链表问题,帮我翻译下c语言代码

第一、二行,都只是一个函数原型的声明,并不一定要指定一个实际变量。

第三行是开辟一个结构体SLIST大小的内存空间,并赋给结构体指针

❷ c语言数据结构单链表是什么

head=(LNode *)malloc(sizeof(LNode));

这一句不要,没啥用处,除非你head指向的节点也就是第一个节点的data不需要数据

head->next=NULL;这里修改为head=NULL;
让head先指向NULL,也就是没有节点
其实这个可以不要,再主函数中,先让链表是空链表即可(即让head=NULL)

head->data=data;
head->next=p->next;
head->next=p;
关键在这里
你仔细考虑一下,一般来说头插法的head只是一个指针,不要对head指向的那个节点操作,对p操作完成后,让head指过去即可
所以修改为
p->data=data; //赋值过去,因为你现在申请了p的内存空间
p->next=head; //把head指向的那个节点连接到p的后面,这样完成头插
// 这是head没有用了,p成为链表的头指针
head=p; //head再指向这个链表的头部,也就是p指向的节点,为下一次循环做准备

head=Createlist(head);//链表初始化
主函数中这样不太好,建议不要重名

❸ 如何将《数据结构》单链表翻译成C语言描述

请把程序写完整,原来的程序是什么?

LinkList InitList(void)
{
LinkList L;
L=malloc(sizeof(LNode));
//.....
return L;
}

int main(void)
{
LinkList L=InitList();

//使用L的语句

return 0;
}

❹ 翻译C语言动态链表函数

#include <stdio.h> //头文件,没什么好说的//
#include <stdlib.h>
#define LEN sizeof(struct Student) //结构体长度//
struct Student
{long num; //学号//
float score; //分数//
struct Student *next; //下一个学生//
};
int n; //链表长度,可以仅作为局部变量,但这里定义为全局变量也无所谓//
struct Student *creat(void) //创建链表函数//
{struct Student *head; //头指针,即链表第一个结构体的指针//
struct SStudent *temp,*end; //临时指针,尾指针,把p1,p2换为更有意义的词//
n=0;
temp=(struct Student *)malloc(LEN); //分配一个结构体内存,这里end或p2赋值无意义、没用处//
scanf("%ld %f",&temp->num,&temp->score); //获取学号、成绩//
head=NULL; //要注意,还没判断temp是不是有效的结构体,所以,head还是NULL!//
while(temp->num!=0) //如果temp是一个有效的结构体//
{n=n+1; //计数//
if(n==1)head=temp; //头指针,也是要返回的指针//
else end->next=temp; //把temp链接到链表的尾部//
end=temp; //有了新的尾部,当然移动尾部指针到新尾部了//
temp=(struct Student *)malloc(LEN); //又分配内存//
scanf("%ld %f",&temp->num,&temp->score); //又进行学号、成绩输入,然后while()中判断……//
}
end->next=NULL; //尾部的“下一个”指针要确保为NULL,因为分配内存时没有初始化,可能是任意值哦!//
free(temp); //注意,原程序中没有这个,会导致内存泄露,因为总有一个结构体没有被添加到链表中//
return(head);
}
int main()
{struct Student *pt;
pt=creat(); //创建链表//
printf("\nnum:%ld\nscore:%5.1f\n",pt->num,pt->score); //把链表头输出,注意,如果链表长度为0,这会出错的!//
return 0;
}
//整个程序还算工整,局部地方,比如while()可以更优化点//

❺ C语言,数据结构,关于链表,求大佬帮我解释几个名词

typedef 的用法是:typedef 数据类型 别名;第一个定义中,struct term{……}是一个数据类型,后面紧接着的term是一个别名,虽然同名,但是意义不一样。再后面的*LinkList是也是一个别名,但是是指针类型的。这个整条定义同时定义了term类型和term类型的指针。
下一条typedef LinkList polynomial;中同样定义了一个指针类型,polynomial与term的指针类型相同。

❻ C语言的“链表”用英文怎么说

一般都是linked list

❼ c语言单向链表

name 保存在结构体单元的name[20] 数组里;
typedef struct node
{
char name[20];
struct node *link;
}stud;
这是你前面定义的结构体变量,一个单元包含两个部分,一个用来存储name的数组name[20],一个用来存放下一个单元地址的指向结构体node的指针。
假设该单元的地址是p,那么p->name 表示第一部分name[20]的地址,p->link表示第二部分,作用是存放下一个单元的地址。

--------------》你看不懂的部分如下《-----------------
p->link=s; /*把s的地址赋给p所指向的结点的链域,这样就把p和s所指向的结点连接起来了*/
printf("请输入第%d个人的姓名",i+1);
scanf("%s",s->name); /*在当前结点s的数据域中存储姓名*/
s->link=NULL;
p=s;
}

在这段代码前面是分配一个结构体单元空间,s是这个新分配空间的地址,p是链表的尾节点的地址,以链表形式说,新分配的应当跟在它后面。
按上面所讲,p->link用来存放下一单元的地址,因此有:
p->link=s; 这样新节点就成为链表的一部分了。

printf("请输入第%d个人的姓名",i+1);
scanf("%s",s->name);
这两句,是对将需要输入的名字读入并且存放在新节点用于存放name 的数组中。

此时,刚开辟的新节点成了尾节点,尾节点不指向任何其它节点,因此s->link=NULL;(NULL是空指针)
(C中处理指针需要小心行事)

p=s; 将p变量赋值为s,即让其为尾节点的地址,便于继续添加节点。

❽ 谁帮我把这点儿关于C语言链表的术语翻译成英文谢谢啊~~

这个p是用来充当临时节点,用于下面构成链表
the p is used as temporary node, it is used for constructing linked list below.

申请动态储存空间
allocate space for saving

链表下一节点指向空
the next node of the list point to NULL

大概就是这样了,作业嘛,就不给你翻译太好(其实也是翻译不好),免得老师以为你是抄的。

好吧,也不多这一句。

LinkList &L为节点的引用
LinkList &L is reference of the node

❾ C语言单向链表

用指针链表主要是灵活,不受元素个数限制,用数组可以达到同样的效果,在结构成员里加一个指向下一个元素的下标变量就行,缺点是元素数量不能超过数组定义的最大长度,除非数组也是动态分配空间,每次重新分配空间时,还要将原来数组里的内容复制到到新分配的数组中,并且从数组中删除一个元素时,会出现碎片,如果想利用这些碎片,每次都得遍历一遍数组,用指针链表删除一个元素就简单多了。

❿ 数据结构 C语言 单链表 Status ListInsert_L(Linklist &L,int i,ElemType e) &L是什么意

在C语言中,函数形参是没有&修饰符的,这个&来自于C++,因为使用方便,且目前的大部分编译环境都支持C++,所以不讲究的人在C中使用了C++的&修饰符,在C++的函数形参表中,&修饰符表示对实参的引用,可以这样理解,通过&操作符,在主调函数和被调函数中,主调函数中的实参对于被调函数如同该函数局部变量一样的使用权限,就像全局变量一样。