爆款云主机2核4G限时秒杀,88元/年起!
查看详情

活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 618智算钜惠季 爆款云主机2核4G限时秒杀,88元/年起!
  • 免费体验DeepSeek,上天翼云息壤 NEW 新老用户均可免费体验2500万Tokens,限时两周
  • 云上钜惠 HOT 爆款云主机全场特惠,更有万元锦鲤券等你来领!
  • 算力套餐 HOT 让算力触手可及
  • 天翼云脑AOne NEW 连接、保护、办公,All-in-One!
  • 中小企业应用上云专场 产品组合下单即享折上9折起,助力企业快速上云
  • 息壤高校钜惠活动 NEW 天翼云息壤杯高校AI大赛,数款产品享受线上订购超值特惠
  • 天翼云电脑专场 HOT 移动办公新选择,爆款4核8G畅享1年3.5折起,快来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

智算服务

打造统一的产品能力,实现算网调度、训练推理、技术架构、资源管理一体化智算服务
智算云(DeepSeek专区)
科研助手
  • 算力商城
  • 应用商城
  • 开发机
  • 并行计算
算力互联调度平台
  • 应用市场
  • 算力市场
  • 算力调度推荐
一站式智算服务平台
  • 模型广场
  • 体验中心
  • 服务接入
智算一体机
  • 智算一体机
大模型
  • DeepSeek-R1-昇腾版(671B)
  • DeepSeek-R1-英伟达版(671B)
  • DeepSeek-V3-昇腾版(671B)
  • DeepSeek-R1-Distill-Llama-70B
  • DeepSeek-R1-Distill-Qwen-32B
  • Qwen2-72B-Instruct
  • StableDiffusion-V2.1
  • TeleChat-12B

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场创新解决方案
办公协同
  • WPS云文档
  • 安全邮箱
  • EMM手机管家
  • 智能商业平台
财务管理
  • 工资条
  • 税务风控云
企业应用
  • 翼信息化运维服务
  • 翼视频云归档解决方案
工业能源
  • 智慧工厂_生产流程管理解决方案
  • 智慧工地
建站工具
  • SSL证书
  • 新域名服务
网络工具
  • 翼云加速
灾备迁移
  • 云管家2.0
  • 翼备份
资源管理
  • 全栈混合云敏捷版(软件)
  • 全栈混合云敏捷版(一体机)
行业应用
  • 翼电子教室
  • 翼智慧显示一体化解决方案

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
  • 天翼云EasyCoding平台
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼云东升计划
  • 适配中心
  • 东升计划
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
开放能力
  • EasyCoding敏捷开发平台
培训与认证
  • 天翼云学堂
  • 天翼云认证
魔乐社区
  • 魔乐社区

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 建议与反馈
  • 用户体验官
  • 服务保障
  • 客户公告
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 智算服务
  • 产品
  • 解决方案
  • 应用商城
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心

      C primer plus 学习笔记 第14章 结构和其他数据形式

      首页 知识中心 软件开发 文章详情页

      C primer plus 学习笔记 第14章 结构和其他数据形式

      2023-07-07 08:11:42 阅读次数:129

      数组,C++


             14章  结构和其他数据形式

      C primer plus 学习笔记 第14章  结构和其他数据形式

       


       

       14.1 示例问题:创建图书目录

      一本书有多种信息,书名,作者,页数,价格等等,这些信息有的是字符串,有的是浮点数。

      需要一种既有字符串,又有浮点数的数据形式————C结构。

      #define _CRT_SECURE_NO_WARNINGS
      #include<stdio.h>
      #include<string.h>
      char * s_gets(char * st, int n);
      #define MAXTITL 41
      #define MAXAUTL 31
      struct book { // 结构模板,标记是book
      char title[MAXTITL];
      char author[MAXAUTL];
      float value;
      };

      int main(void)
      {
      struct book library; //声明struct book 类型变量 library
      printf("Please enter the book title.\n");
      s_gets(library.title, MAXTITL);
      printf("Now enter the author.\n");
      s_gets(library.author, MAXAUTL);
      printf("Now enter the value.\n");
      scanf("%f", &library.value);
      printf("%s by %s: $%.2f\n", library.title, library.author, library.value);
      printf("%s: \"%s\"($%.2f)\n", library.author, library.title, library.value);
      printf("Done.\n");

      return 0;
      }

      char * s_gets(char * st, int n)
      {
      char * ret_val;
      char * find;
      ret_val = fgets(st, n, stdin);
      if (ret_val)
      {
      find = strchr(st, '\n');//查找换行符
      if (find)
      *find = '\0'; //将换行符换成'\0'
      else
      while (getchar() != '\n') //处理输入行剩余的字符
      continue;
      }
      return ret_val;
      }

       

      14.2 建立结构声明

      结构声明(structure declaration)描述一个结构的组织布局,声明类似:

      struct book {            
          char title[MAXTITL];
          char author[MAXAUTL];
          float value;
      };

      14.3 定义结构变量

      程序中关键结构变量:

      struct book library;

      编译器在这里创建一个结构变量library,为其分配内存空间。

      14.3.1 初始化结构

      和初始化数组类似:

      struct book library = { "The ...", "Renee Vivotte", 1.95};

      14.3.2 访问结构成员

      使用结构成员运算符 . 来访问结构中的成员。如:用library.value访问library的value

      14.3.3 结构的初始化器

      C99和C11为结构提供了指定初始化器(designated initializer),语法和数组的指定初始化器类似。

      struct book surprise = { .value = 10.99};

      14.4 结构数组

      同样是那个图书问题,一本书用结构可以解决。

      如果我们有很多本图书,就可以用结构数组了。

      #define _CRT_SECURE_NO_WARNINGS
      #include<stdio.h>
      #include<string.h>
      char * s_gets(char *st, int n);
      #define MAXTITL 40
      #define MAXAUTL 40
      #define MAXBOOKS 100
      #define _CRT_SECURE_NO_WARNINGS

      struct book { // 结构模板,标记是book
      char title[MAXTITL];
      char author[MAXAUTL];
      float value;
      };

      int main(void)
      {
      struct book library[MAXBOOKS]; //声明struct book 类型变量 library
      int count = 0;
      int index;

      printf("Please enter the book title.\n");
      printf("Enter at the start of a line to stop.\n");
      while (count < MAXBOOKS && s_gets(library[count].title, MAXTITL) != NULL
      && library[count].title[0] != '\0')
      {
      printf("Now enter the anthor.\n");
      s_gets(library[count].author, MAXAUTL);
      printf("Now enter the value.\n");
      scanf("%f", &library[count++].value);
      while (getchar() != '\n')
      continue;
      if (count < MAXBOOKS)
      printf("Enter the next title.\n");
      }
      if (count >0)
      {
      printf("Here is the list of your books:\n");
      for (index = 0; index < count; index++)
      printf("%s by %s: $%.2f\n", library[index].title,
      library[index].author, library[index].value);
      }
      else
      printf("No books?\n");

      return 0;
      }

      char * s_gets(char * st, int n)
      {
      char * ret_val;
      char * find;
      ret_val = fgets(st, n, stdin);
      if (ret_val)
      {
      find = strchr(st, '\n');//查找换行符
      if (find)
      *find = '\0'; //将换行符换成'\0'
      else
      while (getchar() != '\n') //处理输入行剩余的字符
      continue;
      }
      return ret_val;
      }

       

      14.4.1 声明结构数组

      和其他类型的数组类似

      int a[100];

      struct book library[MAXBOOK]; //这里只是把int 类型换成struct book类型。

      14.4.2 标识结构数组的成员

      在结构名后面使用点.运算符

      library[0].balue

      14.4.3 程序讨论

       

      14.5 嵌套结构

      结构内包含另一个结构。

      #define _CRT_SECURE_NO_WARNINGS
      #include<stdio.h>
      #define LEN 20
      const char * msgs[5] =
      {
      " Thank you for the wonderful evening, ",
      "You certainly prove that a ",
      "is a special kind of guy. We must get together",
      "over a delicious ",
      " and have a few laughs"
      };
      struct names {
      char first[LEN];
      char last[LEN];
      };

      struct guy {
      struct names handle; //嵌套结构,结构里包含另一个结构
      char favfood[LEN];
      char job[LEN];
      float income;
      };

      int main(void)
      {
      struct guy fellow = {
      {"Ewen", "Villard"},
      "grilled salmon",
      "personality coach",
      68112.00
      };
      printf("Dear %s,\n\n", fellow.handle.first); //使用嵌套结构,先使用.得到name,再.得到first
      printf("%s%s.\n", msgs[0], fellow.handle.first);
      printf("%s%s\n", msgs[1], fellow.job);
      printf("%s\n", msgs[2]);
      printf("%s%s%s", msgs[3], fellow.favfood, msgs[4]);
      if (fellow.income > 150000.0)
      puts("!!");
      else if (fellow.income > 75000.0)
      puts("!");
      else
      puts(".");
      printf("\n%40s%s\n", " ", "See you soon,");
      printf("%40s%s\n", " ", "Shalala");

      return 0;
      }

      14.6 指向结构的指针

      /*friends.c --使用指向结构的指针*/
      #define _CRT_SECURE_NO_WARNINGS
      #include<stdio.h>
      #define LEN 20

      struct names {
      char first[LEN];
      char last[LEN];
      };

      struct guy {
      struct names handle;
      char favfood[LEN];
      char job[LEN];
      float income;
      };

      int main(void)
      {
      struct guy fellow[2] ={
      {{"Ewen", "Villard"},
      "grilled salmon",
      "personality coach",
      68112.00
      },
      {{"Rodney","Swillbelly"},
      "tripe",
      "tabloid editor",
      432400.00
      }
      };
      struct guy * him; //指向结构的指针


      printf("address #1:%p #2: %p\n",&fellow[0],&fellow[1]);
      him = &fellow[0];
      printf("pointer#1:%p #2: %p\n", him, him + 1);
      printf("him->income is $%.2f: (*him).income is $%.2f\n",
      him->income, (*him).income);
      him++;
      printf("him->favfood is %s: him->handler.last is %s\n",
      him->favfood, him->handle.last);
      return 0;

      }

       

      14.6.1 声明和初始化结构指针

      声明结构指针://和其他指针类似

      struct guy * him;

      barney是一个guy类型的结构:可以这样给指针赋值:

      him = &barney;

      14.6.2 用指针访问成员

      方法1:指针->成员    如:him->income

      方法2:(*指针).成员  如:(*him).income

       

      14.7 向函数传递结构的信息

      14.7.1 传递结构成员

      传递结构成员给函数和传递普通变量给函数并没有什么不同。

      #include<stdio.h>
      #define FUNDLEN 50

      struct funds {
      char bank[FUNDLEN];
      double bankfund;
      char save[FUNDLEN];
      double savefund;
      };

      double sum(double, double);

      int main(void)
      {
      struct funds stan = {
      "Garlic--Melon Bank",
      4032.27,
      "Lucky's Savings and Loan",
      8543.94
      };

      printf("Stan has a total of $%.2f.\n",sum(stan.bankfund,stan.savefund)); //
      return 0;
      }
      double sum(double x, double y)
      {
      return (x + y);
      }

       

      14.7.2 传递结构的地址 (结构指针做参数)

      #include<stdio.h>
      #define FUNDLEN 50

      struct funds {
      char bank[FUNDLEN];
      double bankfund;
      char save[FUNDLEN];
      double savefund;
      };

      double sum(const struct funds *); //

      int main(void)
      {
      struct funds stan = {
      "Garlic--Melon Bank",
      4032.27,
      "Lucky's Savings and Loan",
      8543.94
      };

      printf("Stan has a total of $%.2f.\n", sum(&stan)); //
      return 0;
      }
      double sum(const struct funds * money) //
      {
      return (money->bankfund + money->savefund);
      }

       

      14.7.3 传递结构

      传递结构是传值,函数将创建一个结构副本,然后把实际参数的值给这个副本,函数中的操作都是对副本进行的。

      #include<stdio.h>
      #define FUNDLEN 50

      struct funds {
      char bank[FUNDLEN];
      double bankfund;
      char save[FUNDLEN];
      double savefund;
      };

      double sum( struct funds moolah);

      int main(void)
      {
      struct funds stan = {
      "Garlic--Melon Bank",
      4032.27,
      "Lucky's Savings and Loan",
      8543.94
      };

      printf("Stan has a total of $%.2f.\n", sum(stan));
      return 0;
      }
      double sum( struct funds moolah) //函数创建一个副本moolah,然后对副本进行操作(不会改变实际参数stan)
      {
      return( moolah.bankfund + moolah.savefund);
      }

       

      14.7.4 其他结构特性

      一个结构可以赋值给另一个结构(数组不行)。

      神奇的是,如果结构的成员是数组,结构间的赋值仍然可以。

      14.7.5 结构和结构指针的选择

      通常用结构指针作为函数的参数,这样效率较高。如需要防止原始数据被修改,使用const限定符。

      14.7.6 结构中的字符数组和字符指针

      字符数组比较简单。

      字符指针由于只是给出一个地址,但并未分配内存,可能会存到意外的地方。

      14.7.7 结构、指针和malloc()

      使用malloc()分配内存并使用指针存储该地址。

      14.7.8 复合字面量和结构(C99)

      14.7.9 伸缩型数组成员(C99)

      1.伸缩型数组成员必须是结构的最后一个成员

      2.结构必须至少有一个成员

      3.伸缩数组的声明类似于普通数组,只是它的方括号内是空的。

      例子:

      struct flex

      {

      int count;

      double average;

      double scores[]; //伸缩型数组成员

      };

      声明一个 struct flex类型的变量后不能使用scores,因为还没给它分配存储空间。

      通常使用方法是声明一个struct flex类型的指针,然后用malloc()给它分配存储空间。如:

      struct flex *pf;

      pf = malloc(sizeof(struct flex) + 5* sizeof(double) );

      14.7.10 匿名结构(C11)

      C11中,可以用嵌套的匿名结构进行简化。//但是嵌套结构用处不大

      struct person

      {

        int id;

      struct { char first[20]; char last[20];}; //匿名结构

      }

      访问first时,只需将其看出是person的成员

      person ted ; ...

      ted.first;

       

      14.7.11 使用结构数组的函数

      //把结构数组传递给函数
      #include<stdio.h>
      #define FUNDLEN 50
      #define N 2

      struct funds {
      char bank[FUNDLEN];
      double bankfund;
      char save[FUNDLEN];
      double savefund;
      };

      double sum(const struct funds mooey[], int n); //传入结构数组的函数

      int main(void)
      {
      struct funds jones[N] = {
      {
      "Garlic--Melon Bank",
      4032.27,
      "Lucky's Savings and Loan",
      8543.94
      },
      {
      "Honest Jack's Bank",
      3620.88,
      "Party Time Savings",
      3802.91
      }
      };

      printf("The joneses have a total of $%.2f.\n", sum(jones,N) ); *//使用sum函数
      return 0;
      }
      double sum(const struct funds money[],int n)
      {
      double total;
      int i;
      for ( i = 0, total = 0; i < n; i++)
      total += money[i].bankfund + money[i].savefund;
      return total;
      }

       

      14.8 把结构内容保存到文件中

      ("a+b")模式打开文件,a+可以在文件末尾添加,b 使用二进制文件格式,

      使用fread()和fwrite()进行读写。

      //在文件中保存结构中的内容
      #define _CRT_SECURE_NO_WARNINGS
      #include<stdio.h>
      #include<stdlib.h>
      #include<string.h>
      #define MAXTITL 40
      #define MAXAULT 40
      #define MAXBKS 10
      char * s_gets(char * st, int n);
      struct book {
      char title[MAXTITL];
      char author[MAXAULT];
      float value;
      };

      int main(void)
      {
      struct book library[MAXBKS];
      int count = 0;
      int index, filecount;
      FILE * pbooks;
      int size = sizeof(struct book);
      if ((pbooks = fopen("book.dat", "a+b")) == NULL)
      {
      fputs("Can't open book.dat file\n", stderr);
      exit(1);
      }
      rewind(pbooks);
      while (count<MAXBKS && fread(&library[count],size,1,pbooks) == 1)
      {
      if (count == 0)
      puts("Current contents of book.dat:");
      printf("%s by %s $%.2f\n", library[count].title,
      library[count].author, library[count].value);
      count++;
      }
      filecount = count;
      if (count == MAXBKS)
      {
      fputs("The book.dat file is full.", stderr);
      exit(2);
      }
      puts("Please add new book titles.");
      puts("Press [enter] at the start of a line to stop.");
      while (count < MAXBKS && s_gets(library[count].title, MAXTITL) != NULL
      && library[count].title[0] != '\0')
      {
      puts("Now enter the author.");
      s_gets(library[count].author, MAXAULT);
      puts("Now enter the value.");
      scanf("%f", &library[count++].value);
      while (getchar() != '\n')
      continue;
      if (count < MAXBKS)
      puts("Enter the next title.");
      }
      if (count > 0)
      {
      puts("Here is the list of your books:");
      for (index = 0; index < count; index++)
      printf("%s by %s:$%.2f\n", library[index].title,
      library[index].author, library[index].value);
      fwrite(&library[filecount], size, count - filecount, pbooks);
      }
      else
      puts("No books.\n");
      puts("Bye.\n");

      return 0;

      }


      char * s_gets(char * st, int n)
      {
      char * ret_val;
      char * find;
      ret_val = fgets(st, n, stdin);
      if (ret_val)
      {
      find = strchr(st, '\n');//查找换行符
      if (find)
      *find = '\0'; //将换行符换成'\0'
      else
      while (getchar() != '\n') //处理输入行剩余的字符
      continue;
      }
      return ret_val;
      }

       

       

       

      14.9 链式结构

       

      10.10 联合简介

      联合(union)是一种数据类型,能在同一个内存空间存储不同的数据类型。

      定义联合:

      union hold {

       int digit;

       double bigfl;

       char letter;

      }

      hold的联合体可以存储一个int 或一个double或一个char,同一时刻只能三个中的一个。

       

      14.11 枚举类型

      (enumerated type)

      可以声明符号名称代替整型常量

      enum spectrum {red, orange, yellow, green, blue, violet};

       

      14.12 typedef简介(别名)

      typedef char * STRING

      STRING name , sign ;// 等价char * name , * sign;

       

      14.13 其他复杂的声明

       

      14.14 函数和指针

      函数也有地址,指向函数的指针中存储着函数代码的起始位置。

      函数指针需要指明函数的返回类型和参数类型:

      void ToUpper(char *) //函数

      void (*pf) (char * ) //对应的函数指针

      声明了函数指针后,可以把类型匹配的函数地址(函数名)赋值给他。

       

       

       

      版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://blog.51cto.com/pigeon/5451548,作者:一只大鸽子,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。

      上一篇:输入一个时间求出有几个小时几分钟

      下一篇:Java 程序设计 第七章 文件管理与输入/输出 笔记

      相关文章

      2025-05-19 09:04:14

      复杂度的OJ练习

      复杂度的OJ练习

      2025-05-19 09:04:14
      代码 , 复杂度 , 思路 , 数组 , 算法
      2025-05-16 09:15:24

      如何将一串数字用函数的方法倒过来(C语言)

      如何将一串数字用函数的方法倒过来(C语言)

      2025-05-16 09:15:24
      函数 , 数字 , 数组
      2025-05-16 09:15:24

      jQuery遍历对象、数组、集合

      jQuery遍历对象、数组、集合

      2025-05-16 09:15:24
      jQuery , 对象 , 数组 , 遍历 , 集合
      2025-05-16 09:15:17

      递归,搜索,回溯算法(3)之穷举,暴搜,深搜,回溯,剪枝

      递归,搜索,回溯算法(3)之穷举,暴搜,深搜,回溯,剪枝

      2025-05-16 09:15:17
      回溯 , 子集 , 数组 , 算法 , 递归
      2025-05-14 10:33:31

      计算机小白的成长历程——数组(1)

      计算机小白的成长历程——数组(1)

      2025-05-14 10:33:31
      strlen , 个数 , 元素 , 内存 , 十六进制 , 地址 , 数组
      2025-05-14 10:33:31

      计算机小白的成长历程——习题演练(函数篇)

      计算机小白的成长历程——习题演练(函数篇)

      2025-05-14 10:33:31
      函数 , 字符串 , 数组 , 知识点 , 编写 , 迭代 , 递归
      2025-05-14 10:02:48

      typescript 将数组清空

      在TypeScript或JavaScript开发中,数组是用于存储和管理一组数据的基础数据结构。当需要清空一个数组时,有多种方法可以实现,而选择合适的方法不仅影响代码的可读性,还会对性能产生一定的影响。不同场景下,选择适合的清空数组的方法至关重要。

      2025-05-14 10:02:48
      length , pop , 引用 , 数组 , 方法
      2025-05-13 09:50:28

      Java 两个小时以后

      最大正方形在一个由 '0' 和 '1' 组成的二维矩阵内,找到只包含 '1' 的最大正方形,并返回其面积。 

      2025-05-13 09:50:28
      length , matrix , nums , target , 数组
      2025-05-13 09:50:17

      java实现167. 两数之和 II - 输入有序数组

      给你一个下标从 1 开始的整数数组 numbers ,该数组已按 非递减顺序排列  ,请你从数组中找出满足相加之和等于目标数 target 的两个数。

      2025-05-13 09:50:17
      target , 两个 , 数组 , 整数
      2025-05-13 09:50:17

      java实现6. Z 字形变换

      将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。

      2025-05-13 09:50:17
      字符 , 字符串 , 数组
      查看更多
      推荐标签

      作者介绍

      天翼云小翼
      天翼云用户

      文章

      33561

      阅读量

      5242195

      查看更多

      最新文章

      复杂度的OJ练习

      2025-05-19 09:04:14

      如何将一串数字用函数的方法倒过来(C语言)

      2025-05-16 09:15:24

      Java 两个小时以后

      2025-05-13 09:50:28

      用go语言,现有一棵无向、无根的树,树中有 n 个节点,按从 0 到 n - 1 编号 给你一个整数 n 和一个长度为 n - 1 的二维整数数组 edges

      2025-05-13 09:49:12

      存在重复元素 II-128. 最长连续序列

      2025-05-12 08:58:16

      Java基础(Arrays工具类)(asList()方法)(详细)

      2025-05-09 08:50:35

      查看更多

      热门文章

      C++最普通的定时器功能实现

      2023-03-08 10:27:24

      C/C++泛型编程实现数据结构之栈

      2023-05-15 10:00:33

      C++生成指定范围内随机数封装

      2023-02-07 10:34:04

      Arrays类的使用

      2023-06-08 06:23:00

      C++中substr函数的用法

      2023-04-18 14:14:13

      C++拷贝构造函数(深拷贝,浅拷贝)详解

      2023-03-30 09:59:46

      查看更多

      热门标签

      java Java python 编程开发 代码 开发语言 算法 线程 Python html 数组 C++ 元素 javascript c++
      查看更多

      相关产品

      弹性云主机

      随时自助获取、弹性伸缩的云服务器资源

      天翼云电脑(公众版)

      便捷、安全、高效的云电脑服务

      对象存储

      高品质、低成本的云上存储服务

      云硬盘

      为云上计算资源提供持久性块存储

      查看更多

      随机文章

      【滑动窗口】【差分数组】C++算法:995K 连续位的最小翻转次数|1835

      C语言数组

      C++第二章简单程序设计

      【C++图论 二分图 DFS】785. 判断二分图|1624

      用go语言,给你一个由 n 个数对组成的数对数组 pairs, 其中 pairs[i] = [lefti, righti] 且 lefti < righti 。

      C++ 深拷贝和浅拷贝

      • 7*24小时售后
      • 无忧退款
      • 免费备案
      • 专家服务
      售前咨询热线
      400-810-9889转1
      关注天翼云
      • 旗舰店
      • 天翼云APP
      • 天翼云微信公众号
      服务与支持
      • 备案中心
      • 售前咨询
      • 智能客服
      • 自助服务
      • 工单管理
      • 客户公告
      • 涉诈举报
      账户管理
      • 管理中心
      • 订单管理
      • 余额管理
      • 发票管理
      • 充值汇款
      • 续费管理
      快速入口
      • 天翼云旗舰店
      • 文档中心
      • 最新活动
      • 免费试用
      • 信任中心
      • 天翼云学堂
      云网生态
      • 甄选商城
      • 渠道合作
      • 云市场合作
      了解天翼云
      • 关于天翼云
      • 天翼云APP
      • 服务案例
      • 新闻资讯
      • 联系我们
      热门产品
      • 云电脑
      • 弹性云主机
      • 云电脑政企版
      • 天翼云手机
      • 云数据库
      • 对象存储
      • 云硬盘
      • Web应用防火墙
      • 服务器安全卫士
      • CDN加速
      热门推荐
      • 云服务备份
      • 边缘安全加速平台
      • 全站加速
      • 安全加速
      • 云服务器
      • 云主机
      • 智能边缘云
      • 应用编排服务
      • 微服务引擎
      • 共享流量包
      更多推荐
      • web应用防火墙
      • 密钥管理
      • 等保咨询
      • 安全专区
      • 应用运维管理
      • 云日志服务
      • 文档数据库服务
      • 云搜索服务
      • 数据湖探索
      • 数据仓库服务
      友情链接
      • 中国电信集团
      • 189邮箱
      • 天翼企业云盘
      • 天翼云盘
      ©2025 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
      公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
      • 用户协议
      • 隐私政策
      • 个人信息保护
      • 法律声明
      备案 京公网安备11010802043424号 京ICP备 2021034386号