當前位置:首頁 » 編程語言 » 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++的函數形參表中,&修飾符表示對實參的引用,可以這樣理解,通過&操作符,在主調函數和被調函數中,主調函數中的實參對於被調函數如同該函數局部變數一樣的使用許可權,就像全局變數一樣。