4.结构体-创新互联

一、定义

结构体可以将不同的或者相同的数据类型整合到一个数据类型当中。

创新互联公司专注于钦州企业网站建设,响应式网站开发,商城网站制作。钦州网站建设公司,为钦州等地区提供建站服务。全流程按需网站建设,专业设计,全程项目跟踪,创新互联公司专业和态度为您提供的服务
struct node
{int a;
	float b
	double c;
	string d;
	int e[100];
	int f[100];
};
二、赋值与使用

可以使用多种方式定义结构体变量,把它当作一种基本数据类型来使用,名字叫做 n o d e node node。

  • 可以在分号前面定义,作为全局变量
  • 也可以像其他的类型一样定义全局变量和局部变量

赋值方式也有很多种:

  • 可以用大括号的方式对每一个域进行赋值
  • 也可以使用.展开每一个域来分别赋值
  • 同样两个相同类型的变量可以相互赋值
#include#include 

using namespace std;
typedef long long ll;

struct node
{int a;
	float b; 
	double c;
}z[100];
node temp;
int main()
{node x,y={2,4.0,5.2};
    x.a=1;x.b=2.0;x.c=3.2;
    cout<
三、使用sort排序 1.cmp函数

对于结构体的排序我们需要使用到cmp函数来帮助我们定义相互之间的大小关系。

#include#include 

using namespace std;
struct node
{int a;
	float b; 
	double c;
}z[100];
bool cmp(node x,node y)
{if(x.a != y.a)
        return x.a< y.a;
   	else if(x.b != y.b)
        return x.b< y.b;
    return x.cint n;
    cin>>n;
    for(int i=1;i<=n;i++)
        cin>>z[i].a>>z[i].b>>z[i].c;
    sort(z+1,z+1+n,cmp);
    for(int i=1;i<=n;i++)
        cout<

使用cmp函数的优势在于可以对一个结构体进行多种方式的排序。

2.重载运算符

除此以外我们还可以使用重载<的方式来规定结构体变量的大小关系。重载运算符在一些 S T L STL STL的数据结构中使用得非常频繁。

重载运算符之后依然可以使用cmp函数,两者并不冲突。

#include#include 

using namespace std;
struct node
{int a;
	float b; 
	double c;
	bool operator<(const node &x)const
	{if(a!=x.a)
			return aint n;
    cin>>n;
    for(int i=1;i<=n;i++)
        cin>>z[i].a>>z[i].b>>z[i].c;
    sort(z+1,z+1+n);
    for(int i=1;i<=n;i++)
        cout<
四、作业

P5740 【深基7.例9】最厉害的学生
P5741 【深基7.例10】旗鼓相当的对手 - 加强版
P5742 【深基7.例11】评等级
P1059 [NOIP2006 普及组] 明明的随机数
P1093 [NOIP2007 普及组] 奖学金
P1781 宇宙总统

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


分享文章:4.结构体-创新互联
文章位置:http://scyanting.com/article/jijee.html