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

网站找回备案密码怎么不对网站运营管理

网站找回备案密码怎么不对,网站运营管理,天津市招投标信息网,邢台疫情最新消息今天合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻 一、题目描述 ⭐️ 习题11-7 奇数值结点链表 本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中奇数值…

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻

一、题目描述 ⭐️

习题11-7 奇数值结点链表

本题要求实现两个函数,分别将读入的数据存储为单链表、将链表中奇数值的结点重新组成一个新的链表。链表结点定义如下: 👇🏻

struct ListNode {int data;ListNode *next;
};

函数接口定义: 👇🏻

struct ListNode *readlist();
struct ListNode *getodd( struct ListNode **L );

函数readlist从标准输入读入一系列正整数,按照读入顺序建立单链表。当读到−1时表示输入结束,函数应返回指向单链表头结点的指针。
函数getodd将单链表L中奇数值的结点分离出来,重新组成一个新的链表。返回指向新链表头结点的指针,同时将L中存储的地址改为删除了奇数值结点后的链表的头结点地址(所以要传入L的指针)。

裁判测试程序样例: 👇🏻

#include <stdio.h>
#include <stdlib.h>struct ListNode {int data;struct ListNode *next;
};struct ListNode *readlist();
struct ListNode *getodd( struct ListNode **L );
void printlist( struct ListNode *L )
{struct ListNode *p = L;while (p) {printf("%d ", p->data);p = p->next;}printf("\n");
}int main()
{struct ListNode *L, *Odd;L = readlist();Odd = getodd(&L);printlist(Odd);printlist(L);return 0;
}/* 你的代码将被嵌在这里 */

输入样例:

1 2 2 3 4 5 6 7 -1

输出样例:

1 3 5 7 
2 2 4 6 

二、代码(C语言)⭐️

// 创建一个新节点
struct ListNode* createNode(int data) {struct ListNode *newNode = (struct ListNode *)malloc(sizeof(struct ListNode)); // 动态分配内存创建新节点newNode -> data = data; // 设置节点的数据域为传入的datanewNode -> next = NULL; // 设置节点的next指针为NULLreturn newNode; // 返回新创建的节点
}// 从标准输入读入一系列正整数,按照读入顺序建立单链表
struct ListNode *readlist() {int cnt = 0; // 计数器,记录输入的整数个数int numArr[1000]; // 数组,用于暂存输入的整数do{scanf("%d",&numArr[cnt]); // 读取输入的数字if(numArr[cnt] == -1) break; // 如果输入-1,结束输入cnt++; // 计数器递增}while(1); // 无限循环,直到遇到breakif(cnt == 0) return NULL; // 如果没有输入任何数字(除了-1),返回空链表struct ListNode *L = createNode(numArr[0]); // 创建链表的第一个节点struct ListNode *p = L; // 指针p指向当前链表的最后一个节点for(int i = 1; i < cnt; i++) { // 循环处理剩余的数字p -> next = createNode(numArr[i]); // 创建新节点并链接到链表的末尾p = p -> next; // 移动指针p到新的末尾节点}return L; // 返回链表的头指针
}struct ListNode *getodd( struct ListNode **L ) {struct ListNode *oddHead = NULL; // 奇数链表的头指针struct ListNode *oddTail = NULL; // 奇数链表的尾指针struct ListNode *evenHead = NULL; // 偶数链表的头指针struct ListNode *evenTail = NULL; // 偶数链表的尾指针struct ListNode *current = *L; // 当前遍历的节点指针while(current != NULL) { // 遍历原链表if(current -> data % 2 != 0) { // 如果当前节点的数据是奇数if(oddHead == NULL) { // 如果奇数链表为空oddHead = current; // 设置奇数链表的头指针oddTail = current; // 设置奇数链表的尾指针} else { // 如果奇数链表不为空oddTail -> next = current; // 将当前节点链接到奇数链表的末尾oddTail = oddTail -> next; // 移动奇数链表的尾指针}} else { // 如果当前节点的数据是偶数if(evenHead == NULL) { // 如果偶数链表为空evenHead = current; // 设置偶数链表的头指针evenTail = current; // 设置偶数链表的尾指针} else { // 如果偶数链表不为空evenTail -> next = current; // 将当前节点链接到偶数链表的末尾evenTail = evenTail -> next; // 移动偶数链表的尾指针}}current = current -> next; // 移动到下一个节点}if (oddTail != NULL) { // 如果奇数链表不为空oddTail->next = NULL; // 设置奇数链表的末尾节点的next为NULL}if (evenTail != NULL) { // 如果偶数链表不为空evenTail->next = NULL; // 设置偶数链表的末尾节点的next为NULL}*L = evenHead; // 更新原链表的头指针为偶数链表的头指针return oddHead; // 返回奇数链表的头指针
}

代码解释 📚

  • 1、createNode函数:🎀
    • 动态分配内存创建一个新的链表节点。
    • 设置节点的data为传入的参数data
    • 设置节点的next指针为NULL
    • 返回新创建的节点。
  • 2、readlist函数:🎀
    • 使用循环读取输入的数字,存储到数组numArr中,直到遇到-1为止。
    • 如果没有输入任何数字(除了-1),返回NULL表示空链表。
    • 创建链表的第一个节点,并使用指针p指向当前链表的最后一个节点。
    • 循环处理剩余的数字,逐个创建新节点并链接到链表的末尾。
    • 返回链表的头指针。
  • 3、getodd函数:🎀
    • 初始化四个指针:oddHeadoddTail用于构建奇数链表,evenHeadevenTail用于构建偶数链表。
    • 遍历原链表,根据节点数据的奇偶性,将节点分别链接到奇数或偶数链表的尾部。
    • 遍历结束后,将奇数链表和偶数链表的尾节点的next置为NULL,确保链表正确终止。
    • 更新原链表头指针*L指向偶数链表的头节点,返回奇数链表的头节点。

在这里插入图片描述
在这里插入图片描述

注意 📢】结合下面文章一起查看:🦋

  • C语言-单链表的遍历输出
http://www.cadmedia.cn/news/13661.html

相关文章:

  • 个人网站搭建详细步骤经典网络营销案例
  • 温州鹿城区企业网站搭建谷歌seo培训
  • 建设人才库网站网推渠道
  • 网站建设费属于无形资产吗2023网站推广入口
  • 重庆沙坪坝新闻最新消息seo最好的工具
  • 抖音代运营都做什么seo云优化方法
  • 新疆网架公司seo是干啥的
  • 怎么创建网站自己创建系列推广软文范例
  • 建筑导航网站重庆疫情最新数据
  • 如何做能上传视频网站网络上哪里可以做推广
  • 北滘网站建设网站优化平台
  • app商城需要手机网站吗专业推广公司
  • 企业网站直销例子网络营销首先要
  • 网站建设首页布局优化资讯
  • 个人网站制作申请优化外包服务公司
  • 汉阳网页设计苏州关键词优化怎样
  • 网站建设营销解决方案广州网站推广排名
  • 建一个电商网站要多少钱上海百度推广方案
  • 建设刷单网站销售找客户的方法
  • 加工平台网站seo排名赚app
  • 山西省政府网站建设的公司线上推广100种方式
  • 襄阳建设21网站整站优化全网营销
  • 抖抈app下载国际版关键词优化意见
  • 福田网站建设设计公司线上营销策划方案
  • h5自适应网站建设湖南百度推广开户
  • 专门做pp他的网站河南百度推广公司
  • 武汉定制公交网站爱站网关键词挖掘工具熊猫
  • 北京做养生SPA的网站建设网站优化排名软件网站
  • 健身俱乐部网站建设方案设计昆明seo排名
  • 南昌网站建设服务器营销策略怎么写模板