当前位置: 首页 > wzjs >正文

wordpress火吗seo站长综合查询

wordpress火吗,seo站长综合查询,长沙做网站改版价格,做智能网站营销话术一、什么是链表? 链表是一种动态数据结构,由一系列“节点”组成。每个节点包含两个部分:数据域(data):用于存储数据。 指针域(next):指向下一个节点。 链表不像数组那样在…

一、什么是链表?
链表是一种动态数据结构,由一系列“节点”组成。每个节点包含两个部分:数据域(data):用于存储数据。
指针域(next):指向下一个节点。
链表不像数组那样在内存中连续存放,而是通过指针将零散的内存块串联起来使用。

二.单链表的结构定义

#include <stdio.h>
#include <stdlib.h>// 定义链表节点结构体
typedef struct Node {int data;            // 数据域struct Node* next;   // 指针域,指向下一个节点
} Node;

三.链表的基本操作及实现

1. 创建一个新节点

Node* createNode(int data) {Node* newNode = (Node*)malloc(sizeof(Node));if (!newNode) {printf("Memory allocation failed.\n");exit(1);}newNode->data = data;newNode->next = NULL;return newNode;
}

2. 头插法插入节点

void insertAtHead(Node** head, int data) {Node* newNode = createNode(data);newNode->next = *head;*head = newNode;
}

3. 尾插法插入节点

void insertAtTail(Node** head, int data) {Node* newNode = createNode(data);if (*head == NULL) {*head = newNode;return;}Node* temp = *head;while (temp->next != NULL) {temp = temp->next;}temp->next = newNode;
}

4. 在指定位置插入节点

void insertAtPosition(Node** head, int position, int data) {if (position < 0) {printf("Invalid position.\n");return;}if (position == 0) {insertAtHead(head, data);return;}Node* newNode = createNode(data);Node* temp = *head;for (int i = 0; temp != NULL && i < position - 1; i++) {temp = temp->next;}if (temp == NULL) {printf("Position out of bounds.\n");free(newNode);return;}newNode->next = temp->next;temp->next = newNode;
}

5. 删除节点(按值删除第一个匹配项)

void deleteNodeByValue(Node** head, int key) {Node* temp = *head;Node* prev = NULL;// 如果头节点就是要删除的节点if (temp != NULL && temp->data == key) {*head = temp->next;free(temp);return;}// 寻找要删除的节点while (temp != NULL && temp->data != key) {prev = temp;temp = temp->next;}if (temp == NULL) {printf("Value not found in list.\n");return;}prev->next = temp->next;free(temp);
}

6. 查找节点

Node* searchNode(Node* head, int key) {Node* temp = head;while (temp != NULL) {if (temp->data == key)return temp;temp = temp->next;}return NULL;
}

7. 打印链表

void printList(Node* head) {Node* temp = head;while (temp != NULL) {printf("%d -> ", temp->data);temp = temp->next;}printf("NULL\n");
}

8. 销毁链表

void destroyList(Node** head) {Node* current = *head;Node* next;while (current != NULL) {next = current->next;free(current);current = next;}*head = NULL;
}

完整测试代码

int main() {Node* head = NULL;insertAtTail(&head, 10);insertAtTail(&head, 20);insertAtHead(&head, 5);insertAtPosition(&head, 2, 15); // 在位置2插入15printf("链表内容:\n");printList(head);printf("\n删除值为20的节点:\n");deleteNodeByValue(&head, 20);printList(head);printf("\n查找值为15的节点:\n");Node* found = searchNode(head, 15);if (found)printf("找到值 %d\n", found->data);elseprintf("未找到\n");destroyList(&head);return 0;
}

输出结果

链表内容:
5 -> 10 -> 15 -> 20 -> NULL删除值为20的节点:
5 -> 10 -> 15 -> NULL查找值为15的节点:
找到值 15

http://www.dtcms.com/wzjs/228059.html

相关文章:

  • 国内设计好的网站案例bt种子搜索
  • 如何根据流量选择网站百度搜索优化
  • 建设网站需要的工具最近新闻摘抄
  • 做外贸的网站平台有哪些搜索关键词排名一般按照什么收费
  • 创建网站线上营销技巧和营销方法
  • 太原做网站哪家公司好百度认证官网
  • wordpress底部自豪品牌关键词排名优化怎么做
  • 如何在jsp上做网站页面代码国内重大新闻10条
  • 做响应式网站设计师如何布局呢微信朋友圈的广告怎么投放
  • 微信用大型网站站做跳板seo技术培训中心
  • it人力开发外包服务seo网络营销招聘
  • 手机销售网站制作淘宝关键词排名怎么查
  • 婚纱摄影网站模板今日新闻头条新闻今天
  • wordpress httpd.ini怎么把网站排名优化
  • 新媒体营销推广公司湘潭关键词优化服务
  • 惠州营销型网站建设青岛关键词排名提升
  • 广州做网站哪家公司好青岛百度代理公司
  • 怀化最新通知今天商丘 峰少 seo博客
  • seo优化介绍站内seo是什么意思
  • 商城网站的建设网页代码
  • 广西建设局网站万秀服务不错的seo推广
  • 0基础怎么做网站模版网络推广求职招聘交流群
  • 净化科技网站建设响应式网站 乐云seo品牌
  • 鞍山建设网站拉新平台
  • notepad做网站技巧安徽seo优化
  • 一个公司网站后台怎么做百度号码认证申诉平台
  • 一些做淘宝优惠券的网站上海seo服务外包公司
  • 宁德营销型网站建设视频外链在线生成
  • 能免费做婚礼邀请函的网站百度seo引流怎么做
  • 做设计什么兼职网站建设seo搜索引擎优化排名