c语言编程实现一个对顺序表进行基本操作的系统,主要包括表的创建,输入,查询,取值,插入,删除和输出等操作
时间: 2024-09-18 09:11:27 浏览: 59
874数据结构与C语言程序设计考试大纲1
在C语言中,实现一个简单的顺序表系统,可以采用结构体定义表节点和一些函数来完成基本操作。以下是基础步骤:
1. **定义数据结构**:
```c
typedef struct Node {
int data; // 数据域
struct Node* next; // 指向下一个节点的指针
} Node;
```
2. **创建表**:
创建函数用于初始化一个空列表。
```c
Node* createList() {
return (Node*)malloc(sizeof(Node));
}
```
3. **插入元素**:
```c
void insertNode(Node** head, int value) {
Node* newNode = createList();
newNode->data = value;
newNode->next = *head;
*head = newNode;
}
```
4. **查询、取值和输出**:
- 查询:遍历查找特定值。
```c
int search(Node* head, int target) {
Node* current = head;
while (current != NULL) {
if (current->data == target)
return 1; // 找到目标值
current = current->next;
}
return 0; // 未找到
}
// 输出整个列表
void printList(Node* head) {
Node* current = head;
while (current != NULL) {
printf("%d ", current->data);
current = current->next;
}
printf("\n");
}
```
5. **删除元素**:
```c
void deleteNode(Node** head, int target) {
if (*head == NULL) return;
if ((*head)->data == target) {
Node* temp = *head;
*head = (*head)->next;
free(temp);
return;
}
Node* current = *head;
while (current->next != NULL && current->next->data != target) {
current = current->next;
}
if (current->next != NULL) {
Node* toDelete = current->next;
current->next = current->next->next;
free(toDelete);
}
}
```
阅读全文