aiaiask.com©

开花即结果 提问即答案

C语言创建一个单循环链表并标注全过程
原始问题:

C语言创建一个单循环链表并标注全过程

//定义结构体
struct Node {

int data; 
struct Node *next; 

};

// 创建一个新的节点并返回它的地址
struct Node *getNewNode(int x) {

struct Node *newNode = (struct Node*)malloc(sizeof(struct Node)); //分配内存空间 

newNode->data = x; // 设置数据域的值为x  

newNode->next = NULL; // 设置next指针为NULL,表明该节点是尾节点

return newNode; // 返回新创建的节点地址  

}

// 在头部插入一个新的节点,并将原来头部节点作为新头部节点的后驱
void insertAtHead(struct Node **head, int x) {

struct Node *newNode = getNewNode(x); // 创建新的头部节点  

if(*head == NULL) { //如果原来单循环链表中无任何元素,则将该新加入的头部芆录作为尾部元书。即将该头部元书作为它本身后驱。    

    *head = newNode;    

    newNode->next = newNode; // 新加入的头部作为尾部元书  

    return ;    

} else {                         //如果原来单循凉口中已有相应元书,则将该新加入的头部元书变成尾都前驱。                                 /* 此时tail不再是原来tail */      

    struct Node* tail = (*head)->next ;      /* tail 是 head 的后驱 */       /* 移动 head 到 next 的位子 */       (*head)->next=newNode ;      /* 连上 tail 和 next*/       tail->next=newNode ;      /* 断开之前 head 和 tail 的连接*/       new
C语言创建一个单循环链表并标注全过程
https://www.aiaiask.com/ask/3291.html
AI / 模型Siliconflow
时间 / DATEMarch 24, 2023, 8:20 PM
语言zh-CN
IP / 区域湖北 武汉