您的位置:首页 > 财经 > 金融 > 珠海网站优化_网页设计的代码大全_软文代写价格_怎样才能在百度上面做广告宣传

珠海网站优化_网页设计的代码大全_软文代写价格_怎样才能在百度上面做广告宣传

2025/3/20 22:20:04 来源:https://blog.csdn.net/qq_52431436/article/details/143652024  浏览:    关键词:珠海网站优化_网页设计的代码大全_软文代写价格_怎样才能在百度上面做广告宣传
珠海网站优化_网页设计的代码大全_软文代写价格_怎样才能在百度上面做广告宣传

在第i个位置插入 在这里插入图片描述

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
#include <math.h>
#include <stdbool.h>typedef struct Node {int data;struct Node* next;
} Node;Node* newNode(int data);/* 关键函数 */
void insertNode(Node* head, int k, int val) {// 在第k个位置插入正数value// 那么就要找到第k-1个位置Node* p = head;Node* v = newNode(val);for(int i = 1; i <= k-1; i++){ p = p-> next;}//此时要先接入到第k个元素v->next = p->next;p->next = v;}Node* newNode(int data) {Node* node = (Node*)malloc(sizeof(Node));node -> data = data;node -> next = NULL;return node;
}int main() {int n;scanf("%d", &n);Node* head = newNode(-1);for (int i = 0; i < n; i++) {int k, data;scanf("%d%d", &k, &data);insertNode(head, k, data);}Node* temp = head -> next;while (temp != NULL) {printf("%d\n", temp -> data);temp = temp -> next;}return 0;
}

删除

在这里插入图片描述

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
#include <math.h>
#include <stdbool.h>typedef struct Node {int data;struct Node* next;
} Node;Node* newNode(int data);/* 关键函数 */
void removeNode(Node* head, int k) {// 删除第k个Node* p = head;for(int i = 1; i <= k-1; i++){p = p-> next;}Node*q = p-> next;p->next = q->next;free(q);
}Node* newNode(int data) {Node* node = (Node*)malloc(sizeof(Node));node -> data = data;node -> next = NULL;return node;
}int main() {int n;scanf("%d", &n);Node* L = newNode(-1);Node* last = L;for (int i = 0; i < n; i++) {int data;scanf("%d", &data);last -> next = newNode(data);last = last -> next;}int k;scanf("%d", &k);removeNode(L, k);Node* temp = L -> next;while (temp != NULL) {printf("%d\n", temp -> data);temp = temp -> next;}return 0;
}

原地逆转

头插法

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <limits.h>
#include <math.h>
#include <stdbool.h>typedef struct Node {int data;struct Node* next;
} Node;Node* newNode(int data);
/* 关键函数 */
void reverseList(Node* head) {Node * current = head->next;head -> next = NULL;while(current!=NULL){Node* nextNode = current->next;current->next = head->next; //这一行和下一行就是头插head->next = current;current = nextNode; //这一行和第一行是不断往后移动}
}Node* newNode(int data) {Node* node = (Node*)malloc(sizeof(Node));node -> data = data;node -> next = NULL;return node;
}int main() {int n;scanf("%d", &n);Node* L = newNode(-1);Node* last = L;for (int i = 0; i < n; i++) {int data;scanf("%d", &data);last -> next = newNode(data);last = last -> next;}reverseList(L);Node* temp = L -> next;printf("%d", temp -> data);temp = temp -> next;while (temp != NULL) {printf(" %d", temp -> data);temp = temp -> next;}return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com