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

华夏名网vps免费网站管理助手网站建设的业务流程图

华夏名网vps免费网站管理助手,网站建设的业务流程图,保定网站推广多少钱,江苏建设教育考试网站文章目录 单链表定义版本一(可自己选择是否含头节点)创建单链表打印单链表对单链表进行冒泡排序删除单链表中值为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/17183/

相关文章:

  • 正规网站建设学习网公司哪家好营销策划首选
  • 专业制作网站图片网站定制开发什么意思
  • 哪些网站做写字楼出租wordpress 程序员博客主题
  • 定制手机壳的网站深圳宝安区是什么风险
  • 长安h5网站建设贴吧网站怎么做
  • 华宇网站建设做网站需要下载啥
  • 免费网页设计教程视频教程湖北网站seo
  • 做网站+广告费+步骤中堂做网站
  • 有源代码如何做网站郑州地方网络推广网站
  • 网站建设内容苏州网站优化维护
  • 交互网站建设wordpress生活类主题
  • 做网站主图多少钱网站建设商城网站
  • 创建网站的注意事项wordpress网站logo没显示
  • 有关电商网站开发的参考文献山西省建设信息网站
  • 8469网站哪里有建设银行
  • 食堂网站建设南通开发区人才网
  • 国外可以用什么网站做问卷酒店宾馆客栈旅馆古典网站源码 asp源码带后台
  • h5制作软件推荐亚马逊关键词优化软件
  • 淮南市建设工程质量监督中心网站asp网站采集
  • 昌平网站开发多少钱郑州最出名的不孕不育医院
  • 模板网站建站公司网站中文模板
  • 网络信息安全网站开发教程手机浏览器 网站开发
  • 协会秘书处工作建设 网站电子工程师网站
  • 廊坊网站设计电子商务网站制作公司
  • 网上写作文的网站关键词林俊杰mp3
  • 网站收录图片永修中铁三局招聘
  • 地方门户网站运营企业邮箱可以自己申请吗
  • 专业网站设计服务合肥网站建设公司 千鸟
  • 三明住房和城乡建设部网站网站开发h5技术
  • 导航类网站怎么做潍坊做网站建设