📄 sec4-3.htm
字号:
mso-hansi-font-family:"Courier New";
mso-bidi-font-family:黑体;
mso-fareast-language:ZH-TW;}
/* Page Definitions */
@page
{mso-page-border-surround-header:no;
mso-page-border-surround-footer:no;}
@page Section1
{size:841.9pt 595.3pt;
mso-page-orientation:landscape;
margin:89.85pt 72.0pt 89.85pt 72.0pt;
mso-header-margin:42.55pt;
mso-footer-margin:49.6pt;
mso-paper-source:0;
layout-grid:15.6pt;}
div.Section1
{page:Section1;}
/* List Definitions */
@list l0
{mso-list-id:1788622755;
mso-list-type:hybrid;
mso-list-template-ids:-1351311952 -88445512 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
{mso-level-number-format:alpha-lower;
mso-level-text:"%1\)";
mso-level-tab-stop:18.0pt;
mso-level-number-position:left;
margin-left:18.0pt;
text-indent:-18.0pt;}
@list l0:level2
{mso-level-tab-stop:72.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l0:level3
{mso-level-tab-stop:108.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l0:level4
{mso-level-tab-stop:144.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l0:level5
{mso-level-tab-stop:180.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l0:level6
{mso-level-tab-stop:216.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l0:level7
{mso-level-tab-stop:252.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l0:level8
{mso-level-tab-stop:288.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l0:level9
{mso-level-tab-stop:324.0pt;
mso-level-number-position:left;
text-indent:-18.0pt;}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
-->
</style>
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:普通表格;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";}
table.MsoTableGrid
{mso-style-name:网格型;
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-border-insideh:.5pt solid windowtext;
mso-border-insidev:.5pt solid windowtext;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
mso-pagination:none;
font-size:10.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:宋体;
mso-bidi-font-family:宋体;
mso-fareast-language:ZH-CN;}
</style>
<![endif]--><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="37890">
<o:colormru v:ext="edit" colors="#dfe"/>
<o:colormenu v:ext="edit" fillcolor="#dfe"/>
</o:shapedefaults></xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1"/>
</o:shapelayout></xml><![endif]-->
</head>
<body bgcolor="#DDFFEE" lang=ZH-TW link=blue vlink=purple style='tab-interval:
21.0pt;text-justify-trim:punctuation'>
<div class=Section1 style='layout-grid:15.6pt'>
<p class=MsoNormal align=center style='margin-bottom:15.6pt;mso-para-margin-bottom:
1.0gd;text-align:center;text-autospace:none'><b><span lang=ZH-CN
style='font-size:22.0pt;font-family:华文细黑;color:#333399'>派生数据类型</span></b><a
name="第4_3"></a><b><span lang=EN-US style='font-size:22.0pt;font-family:华文细黑;
color:#333399'><o:p></o:p></span></b></p>
<p class=MsoNormal style='text-indent:24.0pt;mso-char-indent-count:2.0;
line-height:17.0pt;mso-line-height-rule:exactly;text-autospace:none;mso-char-indent-size:
12pt'><span lang=ZH-CN style='font-size:12.0pt;font-family:宋体'>数据结构是指若干个数据的连接方式,一个复杂的数据往往是由若干个不同类型数据形成的结构。派生类型是指用户利用</span><span
lang=EN-US style='font-size:12.0pt;font-family:宋体'>FORTRAN</span><span
lang=ZH-CN style='font-size:12.0pt;font-family:宋体'>系统内部类型,如数值型、逻辑型、字符型等自行设计出一个新的数据类型,它们实际上是由内部类型数据形成的某种结构。本章主要目的是学会按复杂数据的客观结构形态,由程序员定义出一种派生类型,再结合上将在后面叙述的模块后,可将该类型必需的操作写成内部子程序,连同派生类型一起写在模块中,供程序各单元共同使用,成为数值计算特别是信息管理的有力工具。</span><span
lang=EN-US style='font-size:12.0pt;font-family:宋体'><o:p></o:p></span></p>
<p class=MsoNormal align=center style='margin-top:15.6pt;margin-right:0cm;
margin-bottom:15.6pt;margin-left:0cm;mso-para-margin-top:1.0gd;mso-para-margin-right:
0cm;mso-para-margin-bottom:1.0gd;mso-para-margin-left:0cm;text-align:center;
text-autospace:none'><a name="第4_3_1"><span lang=EN-US style='font-size:16.0pt;
mso-bidi-font-size:12.0pt;mso-fareast-font-family:楷体_GB2312'>4.3.1</span></a><span
lang=EN-US style='font-size:16.0pt;mso-bidi-font-size:12.0pt;mso-fareast-font-family:
楷体_GB2312'> </span><span lang=ZH-CN style='font-size:16.0pt;mso-bidi-font-size:
12.0pt;font-family:楷体_GB2312;mso-ascii-font-family:"Times New Roman";
color:red'>数据结构</span><b><span lang=EN-US style='font-size:16.0pt;mso-bidi-font-size:
12.0pt;mso-fareast-font-family:楷体_GB2312'><o:p></o:p></span></b></p>
<p class=MsoNormal style='text-indent:24.0pt;mso-char-indent-count:2.0;
line-height:17.0pt;mso-line-height-rule:exactly;text-autospace:none;mso-char-indent-size:
10.5pt'><span lang=ZH-CN style='font-size:12.0pt;font-family:宋体'>实际生活中的数据,不像数学上的那么理想,只是一个整数、一个实数或一串字符等,实用的数据往往是由许多单一数据彼此联系而形成一种结构。例如数组就是由许多数按前后次序排列的一种数据结构,也即数据是一种数据结构,数组名就结构名。但是数组这种结构有局限性,它一定要求结构内所有成员都是同一种内部类型:或者都是整型,或者都是逻辑型,等等。对于成员有的是整型、有的是字符的数据结构,就不能用数组结构表示,必须由程序员自行定义派生类型。</span><span
lang=EN-US style='font-size:12.0pt;font-family:宋体'><o:p></o:p></span></p>
<p class=MsoNormal style='text-indent:24.0pt;mso-char-indent-count:2.0;
line-height:17.0pt;mso-line-height-rule:exactly;text-autospace:none'><span
lang=ZH-CN style='font-size:12.0pt;font-family:宋体'>本节不讨论数据结构的严密定义,而是通过实例树立数据结构的概念,设计出能反映复杂数据结构的新类型并加以操作。如输入一个班</span><span
lang=EN-US style='font-size:12.0pt;font-family:宋体'>30</span><span lang=ZH-CN
style='font-size:12.0pt;font-family:宋体'>个学生的姓名及成绩,由于姓名是字符型,成绩是整型,而数据成员只能是一种类型,因此要把姓名作一数组,成绩另作一数组,排名次时要分别作相应调整,非常不便。如果能设计出一种新的派生类型,该类型既包含字符型成员,又有整型成员,再以新类型数据组成一个数组(它们都是同一个派生类型,可以组成数组)就可以在输人输出时只写一个数组名就可既传递人名又传递成绩,非常方便。</span><span
lang=EN-US style='font-size:12.0pt;font-family:宋体'><o:p></o:p></span></p>
<p class=MsoNormal style='text-indent:24.0pt;mso-char-indent-count:2.0;
line-height:17.0pt;mso-line-height-rule:exactly;text-autospace:none'><span
lang=ZH-CN style='font-size:12.0pt;font-family:宋体'>一个数据结构由若干数据组成,每个组成部分称为该结构的成员。表示结构中成员的一股形式:<span
style='color:#FF6600'>结构名%成员名</span>。即在所属结构名后写一个百分号(%)而后写出成员本身名称。这样的成员可以像访问变量一样被访问,包括赋值、打印、引用等。</span><span
lang=EN-US style='font-size:12.0pt;font-family:宋体'><o:p></o:p></span></p>
<p class=MsoNormal style='text-indent:21.0pt;mso-char-indent-count:2.0;
line-height:17.0pt;mso-line-height-rule:exactly;text-autospace:none'><!--[if gte vml 1]><o:wrapblock><v:group
id="_x0000_s1041" editas="canvas" style='position:absolute;left:0;
text-align:left;margin-left:50.25pt;margin-top:0;width:520.5pt;height:194.2pt;
z-index:1;mso-position-vertical:top' coordorigin="4109,5391" coordsize="5410,2019">
<o:lock v:ext="edit" aspectratio="t"/>
<v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75"
o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f">
<v:stroke joinstyle="miter"/>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
<v:f eqn="sum @0 1 0"/>
<v:f eqn="sum 0 0 @1"/>
<v:f eqn="prod @2 1 2"/>
<v:f eqn="prod @3 21600 pixelWidth"/>
<v:f eqn="prod @3 21600 pixelHeight"/>
<v:f eqn="sum @0 0 1"/>
<v:f eqn="prod @6 1 2"/>
<v:f eqn="prod @7 21600 pixelWidth"/>
<v:f eqn="sum @8 21600 0"/>
<v:f eqn="prod @7 21600 pixelHeight"/>
<v:f eqn="sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
<o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype><v:shape id="_x0000_s1042" type="#_x0000_t75" style='position:absolute;
left:4109;top:5391;width:5410;height:2019' o:preferrelative="f">
<v:fill o:detectmouseclick="t"/>
<v:path o:extrusionok="t" o:connecttype="none"/>
</v:shape><v:shapetype id="_x0000_t202" coordsize="21600,21600" o:spt="202"
path="m,l,21600r21600,l21600,xe">
<v:stroke joinstyle="miter"/>
<v:path gradientshapeok="t" o:connecttype="rect"/>
</v:shapetype><v:shape id="_x0000_s1049" type="#_x0000_t202" style='position:absolute;
left:6276;top:5468;width:819;height:405' strokeweight="1pt">
<v:textbox style='mso-next-textbox:#_x0000_s1049' inset=",,,0">
<![if !mso]>
<table cellpadding=0 cellspacing=0 width="100%">
<tr>
<td><![endif]>
<div>
<p class=MsoNormal align=center style='text-align:center'><span
lang=ZH-CN style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>学生</span><span lang=EN-US>(</span><span
lang=ZH-CN style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>结构型</span><span lang=EN-US>)</span></p>
<p class=MsoNormal align=center style='text-align:center'><span
lang=EN-US>STUDENT</span></p>
</div>
<![if !mso]></td>
</tr>
</table>
<![endif]></v:textbox>
</v:shape><v:shape id="_x0000_s1050" type="#_x0000_t202" style='position:absolute;
left:4195;top:6154;width:866;height:366' strokeweight="1pt">
<v:textbox style='mso-next-textbox:#_x0000_s1050' inset=",,,0">
<![if !mso]>
<table cellpadding=0 cellspacing=0 width="100%">
<tr>
<td><![endif]>
<div>
<p class=MsoNormal align=center style='text-align:center'><span
lang=ZH-CN style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>学号</span><span lang=EN-US>(</span><span
lang=ZH-CN style='font-family:宋体;mso-ascii-font-family:"Times New Roman";
mso-hansi-font-family:"Times New Roman"'>整型</span><span lang=EN-US>)</span></p>
<p class=MsoNormal align=center style='text-align:center'><span
lang=EN-US>NUMBER</span></p>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -