单链表的初始化,遍历,插入和删除的C语言代码
时间: 2023-05-22 08:03:13 浏览: 119
好的,以下是单链表的初始化,遍历,插入和删除的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
//定义单链表节点结构体
typedef struct Node{
int data;
struct Node *next;
}Node;
//单链表的初始化函数,返回链表头指针
Node* initList(){
Node *head = (Node*)malloc(sizeof(Node));
head->next = NULL;
return head;
}
//单链表的遍历函数,传入链表头指针
void printList(Node *head){
Node *p = head->next;
while(p != NULL){
printf("%d ", p->data);
p = p->next;
}
printf("\n");
}
//单链表的插入函数,将新节点插入到链表的第pos个位置(从1开始计数)
int insertNode(Node *head, int pos, int val){
Node *newNode = (Node*)malloc(sizeof(Node));
newNode->data = val;
Node *p = head;
int i;
for(i = 1; i < pos && p != NULL; i++){
p = p->next;
}
if(p == NULL || i > pos){
return 0; //插入失败,返回0;
}
newNode->next = p->next;
p->next = newNode;
return 1; //插入成功,返回1;
}
//单链表的删除函数,删除链表的第pos个节点(从1开始计数)
int deleteNode(Node *head, int pos){
Node *p = head;
int i;
for(i = 1; i < pos && p->next != NULL; i++){
p = p->next;
}
if(p->next == NULL || i > pos){
return 0; //删除失败,返回0;
}
Node *delNode = p->next;
p->next = delNode->next;
free(delNode);
return 1; //删除成功,返回1;
}
int main(){
Node *head = initList();
for(int i = 1; i <= 5; i++){
insertNode(head, i, i*10);
}
printList(head);
deleteNode(head, 3);
printList(head);
return 0;
}
```
这段代码可以实现单链表的初始化,遍历,插入和删除的基本操作。希望能够帮助你!
阅读全文
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045021.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)