数组讲义课件.ppt

数组讲义课件.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
选择法的比较次数O(n^2),比较次数与关键字的初始状态无关,总的比较次数N=(n-1)+(n-2)+...+1=n*(n-1)/2。交换次数O(n),最好情况是,已经有序,交换0次;最坏情况是,逆序,交换n-1次。交换次数比冒泡排序少多了,由于交换所需CPU时间比比较所需的CPU时间多,n值较小时,选择排序比冒泡排序快。 冒泡法:若文件的初始状态是正序的,一趟扫描即可完成排序。所需的关键字比较次数 ?和记录移动次数 ?均达到最小值: ?, ?。 所以,冒泡排序最好的时间复杂度为 ?。   若初始文件是反序的,需要进行 ?趟排序。每趟排序要进行 ?次关键字的比较(1≤i≤n-1),且每次比较都必须移动记录三次来达到交换记录位置。在这种情况下,比较和移动次数均达到最大值: 冒泡排序的最坏时间复杂度为 ?。 综上,因此冒泡排序总的平均时间复杂度为 ?。 * * * * * * * * * * * * * * * * * * 7 自主学习 定义控件一般分为二步: ① 声明一个控件类数组; ② 对每个元素实例化,设置位置、大小、显示等属性,加入到控件集合中; 7.1 控件数组 ③ 创建公共事件处理程序,利用ClickHandler过程处理事件 。使得ClickHandler来处理该所定义的数组的事件触发调用,然后添加代码以将事件与事件处理程序相关联。 控件数组:每个控件是数组元素 THE END * * * * * * 特点:数组中的元素在内存中连续存放;每个元素都属于同一种数据类型;用数组名和下标可以唯一地确定数组元素 接下来我们就学习如何对数组进行声明、初始化和遍历。 * 数组的 声明分两步:①声明数组变量+② 实例化数组 声明数组时,形式为。。。 方括号中间的逗号叫做秩说明符,指定数组维数,数组维数=逗号数目+1;理论上可以使用任意多的秩说明符,数组一旦声明,维数被固定! 此时空间仍未分配; 而数组一旦被实例化后,各维的长度也被固定了。那么数组的大小也就固定了,再根据每个元素的类型,就可以在内存中为数组连续分配规定大小的存储空间。 C#不支持动态数组。 * 合并数组的声明与实例化, 通过一条语句直接完成。 那么,这两条语句就等价于一条语句。 这个语句声明并实例化了一个维数为1,长度为6的数组。数组的每一个元素依次有一个下标,0~5,当使用mark[3]时即访问了下标为3的元素,注意下标索引是从0开始的。 若在程序中使用mark[6],则会出错,提示“索引超出了数组界限”。 一维数组是一个线性表,要表示一个矩阵时,就需要用到二维数组。 * 例如,要表示一个4*6的矩阵,我们可以用一个二维数组,数组声明部分的秩说明符中的逗号数=维数-1。实例化部分说明了数组是4行*6列的规模。整个数组的大小将是4*6=24个元素。 那么 matrix[1,3]将访问第1行、第3列的元素 注意的是,每一维的索引号都是从0开始的。第一维的长度为4,索引号范围是从0到3的。 * 下面的代码创建了一个数组,并且将它的4个元素初始化为大括号中的值 * 为这样一个二维数据进行初始化,形式如下,当然,可以变成不注明每维长度的形式,也可以直接给各维数据。 但是,无论哪一种形式 ,要显式初始化二维数组,必须遵循以下规则: 1.每一个初始值向量封闭在一个大括号内 2,每一个维度必须嵌套封闭在一个大括号内 3,每一个维度的初始化列表和组成部分必须用逗号分隔 * 遍历就是依次访问数组中所有元素。 对于一维数组,例如说一个字符串数组,要在标签中达到这样一个显示效果,可以通过几种方式: 第一个是我们在第三章学过的循环语句for语句; 对数组s的每一个元素s[i]用for语句进行遍历,利用复合赋值语句不断在标签中添加各行的内容;当然,对于一维数组,i的限值可以通过数组s的元素数,也就是Length属性来决定。 第二个方法是用foreach语句来连续访问数组中的每一个元素。 语法形式中声明了一个与数组元素同类型的迭代变量a,使用a来连续表示s中的每一个元素 * 二维数组的遍历基本采用for语句。 对于这样一个二维的数组,要达到下面的显示效果,我们可以通过一个嵌套的for语句,变量i在第一维中遍历,变量j在第二维中遍历,第二维遍历完毕一次后添加一个回车。当然,每一维元素的个数可以通过GetLenght(第n维)的方法来获取。 * * 如何在数组中找到最大或最小的值,是我们今天首先要解决的问题。 例如我们用一个一维的,长度为6的数组存放了六个同学的考试成绩,如何找到所有成绩中的最低分呢? 大家有没有看过打擂台? 如果有若干个人比武,先有一个人在台上,再上去一人与其交手,败者下台,胜者留下,第三个人再上台与台上的人比武,同样是败者下台,胜者留下,如此比下去,

文档评论(0)

benzei244572 + 关注
实名认证
内容提供者

建筑工程师持证人

没啥好说的额

领域认证该用户于2024年10月16日上传了建筑工程师

1亿VIP精品文档

相关文档