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

discuz做门户网站郑州网页制作设计

discuz做门户网站,郑州网页制作设计,崇信县门户网站官网,北京网站制作方案公司1,单链表接口 #include "single_list.h" /* * 单链表是一种基础的数据结构,它由一系列节点组成,每个节点包含两个部分:一个数据域和一个指向下一个节点的指针域。 * 在单链表中,数据元素可以非连续地存储在内存中&…

1,单链表接口

#include "single_list.h"
/*
* 单链表是一种基础的数据结构,它由一系列节点组成,每个节点包含两个部分:一个数据域和一个指向下一个节点的指针域。
* 在单链表中,数据元素可以非连续地存储在内存中,而节点之间通过指针相互连接
*/Node * create_node(int data) {// 创建节点Node *node = (Node *)malloc(sizeof(Node));if(!node) {return NULL; // 内存分配失败}node->data = data;node->next = NULL; // 初始化指针域为NULLreturn node;
} int insert_Head(Node *head, Node *new_node) {if (!new_node || !head) {return -1; // 检查参数是否有效}new_node->next = head->next; // 将新节点的指针域指向头节点的下一个节点head->next = new_node; // 将头节点的指针域指向新节点return 0; // 插入成功   
}int insert_Tail(Node *head, Node *new_node) {Node *p = head; // 从头节点开始遍历if (!new_node ||!head) {return -1; // 检查参数是否有效}while (p->next != NULL) { // 找到最后一个节点p = p->next;}p->next = new_node; // 将最后一个节点的指针域指向新节点new_node->next = NULL; // 将新节点的指针域指向NULLreturn 0; // 插入成功   
}int delete_node_by_index(Node *head, int index) {Node *p = head;Node *q = NULL;int i = 0;if (!head) {return -1; // 检查参数是否有效}while (p->next!= NULL && i < index) { // 找到要删除的节点q = p; // 记录前一个节点p = p->next; // 移动到下一个节点i++;}if (i != index) { // 检查是否找到要删除的节点return -1; // 未找到}q->next = p->next; // 将前一个节点的指针域指向要删除节点的下一个节点free(p); // 释放要删除的节点的内存return 0; // 删除成功
}int delete_node_by_value(Node *head, int value) {Node *p = head;Node *q = NULL;if (!head) {return -1; // 检查参数是否有效}while (p->next!= NULL && p->data != value) { // 找到要删除的节点q = p; // 记录前一个节点p = p->next; // 移动到下一个节点}       if (p->data!= value) { // 检查是否找到要删除的节点return -1; // 未找到}q->next = p->next; // 将前一个节点的指针域指向要删除节点的下一个节点free(p); // 释放要删除的节点的内存return 0; // 删除成功
}int get_node_by_index(Node *head, int index, int *value) {Node *p = head;int i = 0;if (!head || !value) {return -1; // 检查参数是否有效}while(p->next!=NULL && i < index) {p = p->next; // 移动到下一个节点i++;}if(p) {*value = p->data; // 获取节点的值return 0; // 获取成功}return -1; // 获取失败
}void print_list(Node *head) {Node *p = head->next; // 从第一个节点开始遍历int index = 0;while (p!= NULL) { // 遍历链表printf("index[%d] : %d\n", index++, p->data); // 打印节点的值p = p->next; // 移动到下一个节点}
}
void free_list(Node *head) {Node *p = head->next; // 从第一个节点开始遍历Node *q = NULL;while (p!= NULL) { // 遍历链表q = p->next; // 保存下一个节点free(p); // 释放当前节点的内存p = q; // 移动到下一个节点}
}

头文件:

#ifndef SINGLE_LIST_H 
#define SINGLE_LIST_H#include <stdio.h>
#include <stdlib.h>
#include <string.h>typedef struct {int data;Node *next;
} Node;Node * create_node(int data);int insert_Head(Node *head, Node *new_node);int insert_Tail(Node *head, Node *new_node);int delete_node_by_index(Node *head, int index);int delete_node_by_value(Node *head, int value);int get_node_by_index(Node *head, int index, int *value);void print_list(Node *head);void free_list(Node *head);#endif

Makefile:

TARGET := signal
CC := gcc
SRC := single_list.c main.c 
LDFLAGS := single_list.hall: $(TARGET)$(TARGET): $(SRC) $(LDFLAGS)$(CC) $(SRC) -o $(TARGET)clean:rm -f $(TARGET)

 2,实例程

#include "single_list.h"int main() {Node *head = NULL; // 初始化头指针int i = 0;head = create_node(0);for(i =10 ; i <20; i++) {insert_Head(head, create_node(i));}print_list(head);free_list(head);
}

 总结:

        以上实现了一个简单的单链表的接口,仅仅学习使用。

 

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

相关文章:

  • 自己怎么做简单的网站wordpress 帮助模板
  • 网站仿制公司建设银行手机银行app类型
  • 建设银行行号网站查询是什么意思用dw做音乐网站模板
  • 万域网站建设东莞网站建设企慕
  • 网站的设计思路可以做视频片头的网站
  • 网站流量数据在线设计商标logo
  • 怎么做网站美工如何做网站地图
  • 视频网站如何推广微科技h5制作网站
  • 网站建设优化服务效果兰州设计公司有哪些
  • 网站设计制作的特点有哪些产品展示网站源码php
  • 自己制作网站需要什么外贸公司手机网站
  • 建设农村信息网站佛山外贸网站建设报价
  • 白银网站模板邵阳小学网站建设
  • 青海网站建设公司哪家好基层建设期刊在哪个网站被收录
  • cdn网站网络加速器网站登录注册页面模板下载
  • 在东莞建公司网站网络架构必须满足哪些特性
  • p2p网站建设方案oss做网站迁移
  • 企业网站优化服务商网站关键词选取的步骤
  • 建设全网营销型网站图片渐隐 网站头部flash
  • 厦门知名网站建设微信商城怎么进入
  • 建设工程安全事故在哪个网站查财政局网站建设方案
  • 桂林建设信息网站售卖链接
  • 临淄专业网站优化哪家好电子商务网站规划从哪些方面入手
  • 番禺网站建设哪家好wordpress仿唯品会
  • 建设监理工程公司网站安徽阜阳网站建设
  • 网站建设学习课程镇江网站建设个
  • 域名注册管理中心网站湖北 个人网站备案时间
  • 烟台建网站泰安人才市场
  • 音乐网站怎么做社交的淮北网站三合一建设
  • 深圳企业网站制作公司哪家好如何推广网站最有效