【发布时间】:2020-03-28 06:31:38
【问题描述】:
我想知道如何根据这段代码制作 2 个函数:
#include <stdio.h>
#include <stdlib.h>
typedef struct node {
int val;
struct node * next;
} node_t;
node_t* create_node(int val)
{
node_t * head = NULL;
head = malloc(sizeof(node_t));
if (head == NULL) {
return NULL;
}
head->val = val;
head->next = NULL;
}
void print_list(node_t * head)
{
node_t * current = head;
while (current != NULL) {
printf("%d\n", current->val);
current = current->next;
}
}
void insert_end(node_t * head, int val)
{
node_t * current = head;
while (current->next != NULL) {
current = current->next;
}
current->next = malloc(sizeof(node_t));
current->next->val = val;
current->next->next = NULL;
}
void insert_begin(node_t ** head, int val)
{
node_t * new_node;
new_node = malloc(sizeof(node_t));
new_node->val = val;
new_node->next = *head;
*head = new_node;
}
一个函数应该删除具有给定索引的元素,第二个函数应该删除具有给定值的元素。
我是 C 语言的新手,我并不真正理解语法,因此我希望得到任何帮助。
【问题讨论】:
-
如果你打算经常这样做,我会重新考虑你的数据结构。
标签: c list linked-list dimensional