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

网站开发开源框架网络工程师培训班要多少钱

网站开发开源框架,网络工程师培训班要多少钱,wordpress 视频文件夹,网站的静态页面谁做文章目录 单链表定义版本一(可自己选择是否含头节点)创建单链表打印单链表对单链表进行冒泡排序删除单链表中值为key的节点求单链表表长在单链表位序为i的位置插入新元素e 单链表定义 typedef struct node {int data;struct node* next; }LinkNode,*LinkList;版本一(可自己选择…

文章目录

  • 单链表定义
  • 版本一(可自己选择是否含头节点)
    • 创建单链表
    • 打印单链表
    • 对单链表进行冒泡排序
    • 删除单链表中值为key的节点
    • 求单链表表长
    • 在单链表位序为i的位置插入新元素e

单链表定义

typedef struct node
{int data;struct node* next;
}LinkNode,*LinkList;

版本一(可自己选择是否含头节点)

创建单链表

/*** @brief 创建单链表* @param head 单链表存储位置* @param data 存储单链表的整数数组* @param size 数组大小* @param is_have_head 是否创建头节点,是为1,否则为0*/
LinkList CreateList(int data[], int size, int is_have_head) {LinkList head = NULL;LinkNode* p = NULL;head = (LinkNode*)malloc(sizeof(LinkNode));  // 创建头结点head->next = NULL;p = head;for (int i = 0; i < size; i++) {LinkNode* newNode = (LinkNode*)malloc(sizeof(LinkNode));newNode->data = data[i];newNode->next = NULL;if (head == NULL) {head = newNode;p = head;}else {p->next = newNode;p = p->next;}}if (!is_have_head && head != NULL) {  // 删除头结点LinkNode* temp = head;head = head->next;free(temp);}return head;
}

打印单链表

/*** @brief 打印单链表* @param head 单链表指针* @param is_have_head 是否含头节点,是为1,否则为0*/
void PrintList(LinkList head, int is_have_head) {LinkNode* p = head;if (is_have_head) p = p->next;if (!p) printf("空链表!\a\n");else {while (p) {printf("%d->", p->data);p = p->next;}printf("NULL\n");}
}

对单链表进行冒泡排序

/*** @brief 对单链表进行冒泡排序* @param L 单链表指针L* @param is_have_head 是否含头节点,是为1,否则为0*/
void LinkBubbleSort(LinkList L, int is_have_head) {LinkNode* head = L;if (is_have_head) head = head->next;LinkNode* p = head, * q = p->next, * last = NULL;if (p == NULL || q == NULL) return;while (head->next != last) {while (q && q != last ) {if (p->data > q->data) {int temp = p->data;p->data = q->data;q->data = temp;}p = q;q = q->next;}last = p;p = head;q = p->next;}
}

删除单链表中值为key的节点

/*** @brief 删除单链表中值为key的节点* @param L 单链表L* @param key 目标值key* @param is_have_head 是否含头节点,是为1,否则为0* @return 删除成功返回true,否则返回false*/
bool ListDeleteNode(LinkList L, int key, int is_have_head) {LinkNode* p = L, * pre = NULL;if (is_have_head) {pre = p;p = p->next;}while (p && p->data != key) {pre = p;p = p->next;}if (!p) return false;pre->next = p->next;free(p);return true;
}

求单链表表长


/*** @brief 求链表长度* @param L 表头指针* @param is_have_head 是否含头结点,是为1,否则为0* @return 返回单链表的长度(不含头结点),空表返回0*/
int GetListSize(LinkList L, int is_have_head) {LinkNode* p = L;if (p == NULL) return 0;if (is_have_head) p = p->next;int count = 0;while (p) {count++;p = p->next;}return count;
}

在单链表位序为i的位置插入新元素e

/*** @brief 在单链表位序为i的位置插入新元素e* @param L 表头指针* @param i 插入位置(1<=i<=GetListSize(L)+1)* @param e 待插入元素e* @param is_have_head 是否含头结点,是为1,否则为0* @return 插入成功返回1,否则返回0*/
int ListInsert(LinkList L, int i, int e, int is_have_head) {int list_size = GetListSize(L, is_have_head);if (i < 1 || i > list_size + 1) return 0;  // 位序非法LinkNode* p = L, * pre = NULL;int cur = 1;if (is_have_head) {pre = p;p = p->next;}while (cur < i) {pre = p;p = p->next;cur++;}LinkNode* new_node = (LinkNode*)malloc(sizeof(LinkNode));new_node->data = e;if (pre == NULL) { // 第一个位置插入new_node->next = L;L = new_node;}else {new_node->next = p;pre->next = new_node;}return 1;
}
http://www.yayakq.cn/news/880358/

相关文章:

  • 手机网站域名解析购物网站 服务器 带宽 多大
  • 优秀设计网站大全南京建设局的网站首页
  • 微信扫码即可打开的网站如何做营销型网站设计方针
  • 网站开发好还要空间吗高端装饰公司网站设计
  • 公司网站如何建立福州建设厅网站
  • 中国建设银行车主卡网站网页布局设计框架图表
  • 雅安建设局网站石家庄市网站制作
  • 顺德装修网站建设自己做影视会员网站
  • 怎么看一个网站是不是外包做的邯郸网站制作基本流程
  • 东莞规划局官方网站成都网站建设优化企业排名
  • 怎样制作网站的步骤企业网站开发外包公司
  • 长春市长春网站建设哪家好网站建设分金手指排名一
  • 惠州东莞网站建设融创中国最新消息
  • 如何自己做网站做淘宝客dede单本小说网站源码
  • 学做网站设计需要多少钱网站搜索框代码怎么做
  • 怎么搭建自己的网站卖货代刷网站只做软件吗
  • 网站推广计划wordpress:代码
  • 网站建设幻灯片背景图片素材网络推广怎么做效果好
  • qq建设网站首页江苏公司响应式网站建设报价
  • 个人网站开发流程如何建设企业人力资源网站
  • 上海网站搜索排名优化哪家好vi设计是什么设计
  • 网站建设分期收费网站建设客户怎么寻找
  • 太原网站建设质量推荐代理公司的经营范围
  • 室内设计毕业设计代做网站算命网站建设
  • 温州网站建设及推广织梦网站备份
  • 网站效果图怎么做亚星管理网代理平台入口
  • 复兴专业做网站wordpress注册直接显示密码错误
  • 自己做的网站是怎么赚钱做毕业设计免费网站建设
  • 在国内怎么做国外网站营销型企业网站建设应遵守的原则
  • 学设计的网站有哪些内容网站主色调有几种