首页 > 编程语言 >从零开始学习C++之结构体

从零开始学习C++之结构体

时间:2024-08-24 15:48:27浏览次数:15  
标签:定义 cmp struct zuobiao 学习 从零开始 C++ 结构 mp

前言

之前讲过变量,讲了数据类型(如 int 等),而结构体就相当于创造一个类型。

定义结构体

首先,写上一个神圣不可侵犯的(bushi) struct

好了,不开玩笑了。

在程序外围定义(一般写在命名空间后面)。

struct 名字
{
	含有的东西。
}; 一定一定要有分号!!!

例:定义存储坐标的结构体

struct zuobiao
{
	int x, y;
};

结构体定义好了,我们就可以拿结构体创建数据结构了。

以上面的坐标为例,定义一个类型为 \(zuobiao\) 的变量 \(a\),只需要写:zuobiao a; 就完事了,神不神奇。

数组同样:zuobiao mp[n][m]

使用结构体

以上面的 \(zuobiao,a,mp\) 为例:

\(a\) 的 \(x\)(坐标中定义的):a.x;\(a\) 的 \(y\)(坐标中定义的):a.y

数组:正常数组+".定义名",mp[i][j].x 或其他。

结构体排序

结构体排序需要写专门的函数,一般叫 \(cmp\)。

以 \(mp\) 数组为例,以 \(x\) 从大到小排序就这么写:

bool cmp(zuobiao a, zuobiao b)
{
	return a.x > b.x;
}

省略......

sort(mp + 1, mp + n + 1, cmp);

这样就好了,也可以根据实际需求结合分支结构等进行自定义。

关于 sort 的用法详见 这篇文章,侵权联系紫衫(主要懒得写)。

作者的话

就这样吧,推荐几道例题。

P1068-分数线划定

拜拜~

标签:定义,cmp,struct,zuobiao,学习,从零开始,C++,结构,mp
From: https://www.cnblogs.com/George222/p/18377845

相关文章

  • GitHub星标破万!Python学习教程(超详细),真的太强了!
    Python是一门初学者友好的编程语言,想要完全掌握它,你不必花上太多的时间和精力。Python的设计哲学之一就是简单易学,体现在两个方面:语法简洁明了:相对Ruby和Perl,它的语法特性不多不少,大多数都很简单直接,不玩儿玄学。切入点很多:Python可以让你可以做很多事情,科学计算和数据......
  • 从零开始学习C++之函数
    前言作者看着200行的主函数大模拟返回了WA,陷入了沉思......咋办?把每个模块包装一下就知道哪里出错了,所以,今天讲函数。(太生硬了吧。。。)定义一个函数格式:返回值类型函数名(变量*n){ 代码}例如:intadd(inta,intb){ returna+b;}注:定义函数中的每个变量必......
  • 从零开始学习C++
    updateon2024/8/24前言配置环境基本编码格式入门输入输出循环变量与数组if判断语句(分支结构)基础函数......
  • 埃筛C++写法
    埃筛的作用是找素数(质数),以质数的倍数一定是合数为重心思路。比如说2是质数,但2的倍数(除了自己)都是合数。3是质数,但3的倍数(除了自己)都是合数。我们针对这个特性,可以用打标法实现。p[x]表示x是否为质数。voidPrime(){ memset(P,true,sizeof(P)); for(inti......
  • CMake构建学习笔记3-libpng库的构建
    libpng是一个用于读取、写入PNG(PortableNetworkGraphics)文件格式的开源软件库,有了上一篇笔记作为基础,构建起来也非常简单。还是在源代码的根目录中创建一个build文件夹,执行如下关键指令:#配置CMakecmake..-G"$Generator"-Ax64`-DCMAKE_BUILD_TYPE=RelWithDebInf......
  • C++相关知识
     string倒排reverse#include<iostream>#include<string>#include<algorithm>intmain(){std::stringstr="Hello,World!";std::reverse(str.begin(),str.end());std::cout<<str<<std::endl;r......
  • 亦菲喊你来学机器学习(10) --决策树算法
    文章目录决策树一、基本定义二、学习过程三、剪枝处理四、决策树的特点五、构建模型训练模型测试模型总结决策树机器学习中的决策树算法是一种基本的分类与回归方法,它通过树状结构建立决策模型,以解决分类和回归问题。以下是对决策树算法的详细解析:一、基本定义决......
  • CMake构建学习笔记2-zlib库的构建
    目录1.概述2.详论2.1设置构建目录2.2配置构建2.3构建项目2.4安装项目2.5清理构建目录3.总结1.概述Zlib是一个数据压缩库,它提供了在内存中对数据进行压缩和解压缩的功能。这个库非常泛用,除了直接使用这个库之外,很多依赖库都会间接依赖它。这里就以Windows系统为例介绍一......
  • 基于nodejs+vuejava学习平台[程序+论文+开题]-计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展和在线教育市场的蓬勃兴起,传统的教育模式正经历着深刻的变革。在这个数字化时代,构建一个高效、便捷、互动性强的学习平台成为了提......
  • 深度学习基础
    深度学习基础一、临界点及其种类1.鞍点2.局部极小值3.局部极大值临界点特点:当参数对损失微分为零的时候,梯度下降不会再更新参数,训练停止,损失不再下降。二、判断临界值种类的方法判断一个临界点是什么种类需要知道损失函数的形状损失函数\(L(\theta)\)可以近似为\[L(\thet......