用c语言建立单链表a-b-c-d-e-f-g-c
时间: 2024-12-27 16:32:49 浏览: 22
在C语言中,我们可以使用结构体和指针来创建一个动态单链表,这里是一个简单的示例来表示你提供的元素序列"a-b-c-d-e-f-g-c":
首先,我们定义一个节点结构体:
```c
typedef struct Node {
char data; // 节点数据
struct Node* next; // 指向下一个节点的指针
} Node;
```
然后,我们可以编写函数来添加节点到链表:
```c
void appendNode(Node** head, char data) {
if (*head == NULL) {
*head = (Node*)malloc(sizeof(Node));
(*head)->data = data;
(*head)->next = NULL;
} else {
Node* temp = *head;
while (temp->next != NULL) {
temp = temp->next;
}
temp->next = (Node*)malloc(sizeof(Node));
temp->next->data = data;
temp->next->next = NULL;
}
}
```
最后,按照给定顺序添加节点:
```c
int main() {
Node* head = NULL;
appendNode(&head, 'a');
appendNode(&head, '-');
appendNode(&head, 'b');
appendNode(&head, '-');
appendNode(&head, 'c');
// ...重复以上步骤,直到添加完所有元素
// 由于g之后还有一个c,这里再添加一次
appendNode(&head, 'c');
// 打印链表(这里仅用于演示,实际应用可能需要其他方法遍历)
for (Node* node = head; node != NULL; node = node->next) {
printf("%c", node->data);
}
return 0;
}
```
注意,这个例子假设每个元素都是单独的字符,而链表本身并不区分大小写,所以'a'、'b'等都是不同的节点。
阅读全文