《精》数据结构chap1.pptVIP

  • 1
  • 0
  • 约1.22万字
  • 约 56页
  • 2017-01-16 发布于湖北
  • 举报
4. 本课程中算法描述的约定: 1)本课程中的算法都用以下形式的函数描述: 函数类型 函数名(函数参数表) { //算法说明 语句序列 }//函数名 例:求两个整数m,n中的最大数max的算法。 int Maxnum (int m,int n) { //该算法返回两个整数m,n中的最大数 if (m = n) max = m; else max= n; return max; } // Maxnum 2) 除函数的参数需要说明类型外,算法中使用的辅助变量可以不作变量说明,必要时对其作用给予注释。一般而言,a、b、c、d、e 等用作数据元素名,i、j、k、l、m、n等用作整型变量名,p、q、r 等用作指针变量名。 3)若以操作成功或失败为函数的返回值时,函数的类型定义为Status。 4) 为便于算法描述,使算法易于理解,类C中函数的形参,除允许值参外,增添了C++语言的引用参数。在函数的形参表中,以打头的参数即为引用参数。 引用参数是实参的别名,所谓别名就是同一变量的另外一个名字。 下面通过例子来说明引用参数的概念,值参和引用参数的区别。 void swap ( int n,int m) { //函数定义,参数为值参数 int temp; temp=n; n=m; m=temp; } void swap ( int n,int m) { // 函数定义,参数为引用参数 int temp; temp=n; n=m; m=temp; } main( ) { int a=10,b=20,c=10,d=20; swap(a,b); //函数调用 swap( c,d); //函数调用 } 结果 :a=10,b=20 c=20,d=10 原因: 调用swap(a,b )时,实参a,b的值被传递给swap(int n,int m)的形参n,m, 调用swap(a,b )的结果 n和m的值交换,而变量a,b的值并没有交换; 调用swap(c,d )时,形参n,m作为实参c,d 别名,n和c对应同一个变量, m和d对应同一个变量,调用swap(c,d )的结果 n和m的值交换,即变量c,d的值交换; 例 8 交换两个整数变量的算法 a 10 b 20 调用函数Swap() 参数传递 Swap()体 n m 执行Swap() n m 20 10 语言值参函数Swap(a,b)的调用 10 20 c d 10 20 调用函数Swap() Swap()体 n m 执行Swap() c d 20 10 参数传递 n m 引用参数函数Swap()的调用 注意:对于对数据有修改作用的操作(函数),要用引用参数作形参,而不能用值参作形参。 *类C的数据类型 在本课程中,数据的存储结构是用C语言的数据类型描述(定义)的,主要用到下列数据类型:数组,结构,指针及它们的组合。 1 数组 1)数组变量由一组类型相同的数据元素组成 2)数组类型定义和变量定义 typedef 数组元素类型名 数组类型名[常量表达式]; 数组类型名 数组变量名; 例 某班40个学生的数学成绩,可以用有40个数组分量的整型数组变量存储。 Typedef int SCoreType[40]; SCoreType class1; 数组类型名 数组变量名 *类 C的数据类型 3)数组在内存中的存储示意图 0 1 2 n class 数组变量 * 类C的数据类型 4) 数组分量(数组元素)的引用 数组变量[下标] 例 : … for ( i=0; i=39; ++i) class[i]= 0; 数组变量 0 1 2 39 class 0 0 0 0 数组元素下标 * 类C的数据类型 2 结构 1)结构类型变量(结构变量)由一组类型可以不同的数据元素组成 2)结构类型定义和变量定义 typedef 结构定义 结构类型名; 结构类型名 结构变量名; 例 一本书可以用有2个数据成员(数据域)结构变量存储。 Typedef struct { int no; char title[40]; }BookType; BookType book1; 结构类型名 结构变量名 * 类C的数据类型 3)结构变量在内存中的存储示意图 no title 4)结构变量的引用 结构变量名.成员名(结构变量名.域名) 例 : ... book1.no=1; sca

文档评论(0)

1亿VIP精品文档

相关文档