struct 结构体由两部分组成:
{类型名.成员名;类型名.成员名;……};
先声明结构体类型,再定义结构体变量名。
这两部分类似矩阵的行和列,
结构体类型——行;结构体变量名——列
创建一个 1×3 的结构体 s,其中包含字段 f:
s(1).f = 1;
s(2).f = ‘two’;
s(3).f = 3 * ones(3);
调用结构体中的变量:
s(1) %调用结构体第一行
ans = f: 1
s(3)
ans = f: [3x3 double]
s(2)
ans = f: ‘two’s(2).f(2) %调用结构体第二行第二列
ans =w
s(3).f(2) %调用结构体第三行第二列
ans = 3
1.1创建方式
number.name = ‘kebe’;
number.age = ‘1978’;
number
number =
包含以下字段的 struct:
name: 'kebe'
age: '1978'
1.2创建多个,加下标
number(1).name = ‘kobe’;
number(1).age = ‘1978’;
number(2).name = ‘bryant’; %2相当于增加一行
number(2).age = ‘2016’;
number
number =
包含以下字段的 2×2 struct 数组:
name age
number (1)kobe 1978
number (2)bryant 2016
number(1)
ans =
name: ‘kobe’
age: ‘1978’
number(2)
ans =
name: ‘bryant’
age: ‘2016’
结构数组排序
% 把该解决方案的邻域中所有解决方案按cost从小到大排序
function neighbourSet = sortNeighbours(neighbourSet)
% 按cost排序
[~, index] = sort([neighbourSet.cost]);%加中括号,
% 按排序后的index对邻域进行排序
neighbourSet = neighbourSet(index(?);
end