c课件第1部分_1、顺序表1.ppt

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
删除顺序表的重复数据 在顺序表上实现 在数组上实现 void purge( SeqList *L) { int i,j; for(i=0;iSize(L)-1;i++) { j=i+1; while(jSize(L)) if(GetData(L,i)==GetData(L,j)) Erase(L,j): else j++; } } void purge( int *p,int *n) { int i,j,k; for(i=0;i*n-1;i++) { j=i+1; while(j*n) if(p[j]==p[i]) //数据元素比较 { for(k=j+1;k*n;k++) //删除 p[k-1]=p[k]; (*n)--; } else j++; } } 结论:在上述删除操作中,基于顺序表的结构更清晰,更容易阅读、“诊断”和修改。 * 注意引导学生:为什么要这样设计函数,特别是参数类型的选择! * 注意引导学生:为什么要这样设计函数,特别是参数类型的选择! * 注意引导学生:为什么要这样设计函数,特别是参数类型的选择! * 注意引导学生:为什么要这样设计函数,特别是参数类型的选择! 基于过程的程序设计 程序的主体:函数 学好C++语言的关键 掌握好面向对象的程序设计思想 C与C++ C++语言程序设计 面向对象的程序设计 程序的主体:类、对象 C语言程序设计 面向过程设计与面向对象设计的区别?(以俄罗斯方块为例) 俄罗斯方块的基本规则 1、一个用于摆放小型正方形的平面虚拟场地(容器) 2、一组由4个小型正方形组成的规则图形,称为方块,共有7种 3、随机产生单个方块到场地顶部,方块可以移动、旋转、下落并填充到场地中。 每次摆放如果将场地的一行或多行完全填满,则组成这些行的所有小正方形将 被消除,并且以此来换取一定的积分或者其他形式的奖励。而未被消除的方块 会一直累积,并对后来的方块摆放造成各种影响。 4、如果未被消除的方块堆放的高度超过场地所规定的最大高度则游戏结束。 基 于 对 象 的 解 决 方 案 * * 面向过程程序设计的实现步骤 (1)定义全局变量,如网格数组(容器)、关数、得分等。 (2)定义方块的结构体,包含方块形状、位置、颜色等特性。 (3)定义并实现各功能模块子函数,如生成方块、旋转方块、判断方块是否到容器顶部或边缘、消行等。 (4)根据算法实现主函数(Main),主函数中完成对子函数的调用。 面向对象程序设计的实现步骤 (1)根据需求,合理地定义类。例如,在本例中,可定义出方块类与容器类。 (2)定义类的成员变量与成员函数。例如,方块类具有形状、大小、位置、颜色等成员变量,具有移动、旋转等成员函数。容器类具有大小、关数、分数、速度等成员变量,具有生成方块、判断方块是否到容器顶部或边缘、消行等成员函数。 (3)根据算法实现主函数(Main),在主函数中可对类进行实例化,并调用相关成员函数。 结论 面向对象的程序设计的主要作用: 1. 提高生产效率。表现在:程序重用共享 2. 降低维护复杂性。表现在:程序模块化 3. 开发大型软件。主要表现在: ? 抽象模型更接近现实世界。 ? 模型与程序易于理解 ? 程序具有重用性和模块化 ? 软件易于维护 PARTI 纲 要 C语言主要知识回顾 01 02 03 C顺序表 C单项链表 04 C结构串 C++语法知识 顺序表 数组 什么是数组 ? 保存相同类型数据的内存单元集合 数组的定义 ? 类型名 数组名[大小]; type ArrayName[size]; 例如: int a[5]; 定义了一个整数型数组,数组名为 a,数组的大小为5,即有5个元素:a[0], a[1], a[2], a[3], a[4]. 数组使用注意点 ? 1、 数组的第一个元素下标是0,数组的最后一个元素的下标是数组的大小减去1。 2、数组名是数组的起始地址,也是数组首元素的地址,是符号指针常量,称为数组指针,访问数组元素时,有以下等价方式: *a,*(a+1),*(a+2) a[0],a[1],a[2] 3、数据元素:已经赋值的数组元素,数组中的数据元素要从头开始连续存储。 数组与指针的关系 1、数组名是数组首元素的地址,是符号指针

文档评论(0)

158****9376 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档