按照数据输入的顺序构建一个线性表。即如果输入的333个结点数据分别为1、2、3,则构建的线性表包含333个结点,且从前往后的结点数据分别为1、2、3。c语言
时间: 2024-09-29 19:05:26 浏览: 29
在C语言中,如果你想要按照输入的数据顺序构建一个线性表(如单链表),可以使用动态内存分配来创建节点,并将每个元素链接到下一个节点。这里是一个简单的步骤:
1. 定义一个结构体,表示链表节点:
```c
typedef struct Node {
int data; // 结点存储的数据
struct Node* next; // 指向下一个节点的指针
} Node;
```
2. 创建一个函数来添加新节点并保持顺序:
```c
void insertNode(Node** head, int value) {
Node* newNode = (Node*)malloc(sizeof(Node)); // 动态分配内存
newNode->data = value;
newNode->next = NULL;
if (*head == NULL) { // 如果链表为空
*head = newNode;
} else {
Node* temp = *head;
while (temp->next != NULL) {
temp = temp->next;
}
temp->next = newNode; // 将新节点添加到链表尾部
}
}
```
3. 主函数接收输入数据并调用插入函数:
```c
int main() {
Node* head = NULL; // 初始化链表头指针为NULL
for (int i = 1; i <= 333; ++i) {
insertNode(&head, i); // 输入1到333的数据
}
// 打印整个链表
printList(head);
return 0;
}
// 辅助函数:打印链表
void printList(Node* node) {
while (node != NULL) {
printf("%d -> ", node->data);
node = node->next;
}
printf("NULL\n");
}
```
当你运行这个程序时,会根据输入的数值顺序构建一个包含333个节点的线性表。
阅读全文