用c语言写一个单链表城市表
时间: 2024-10-24 18:12:24 浏览: 38
在C语言中,我们可以创建一个简单的单链表结构来表示城市数据。首先,我们需要定义一个节点结构体,包含城市名和指向下一个节点的指针。然后,我们会创建一个函数来添加城市、遍历列表以及打印所有城市。
```c
#include <stdio.h>
#include <stdlib.h>
// 定义链表节点结构
typedef struct City {
char name[50];
struct City* next;
} City;
// 添加新城市到链表
void addCity(City** head, const char* cityName) {
City* newNode = (City*)malloc(sizeof(City));
if (newNode == NULL) {
printf("Memory allocation failed.\n");
return;
}
strncpy(newNode->name, cityName, sizeof(newNode->name) - 1); // 转换null终止符
newNode->next = *head;
*head = newNode;
}
// 遍历并打印链表中的城市
void printCities(City* head) {
while (head != NULL) {
printf("%s -> ", head->name);
head = head->next;
}
printf("NULL\n");
}
int main() {
// 初始化空链表
City* head = NULL;
// 添加一些城市
addCity(&head, "北京");
addCity(&head, "上海");
addCity(&head, "广州");
// 打印链表中的城市
printCities(head);
return 0;
}
```
在这个示例中,我们先初始化了一个空链表`head`,然后通过`addCity`函数将城市名字添加到链表的头部,并使用`printCities`函数展示链表的内容。
阅读全文