C语言一维数组课件

上传人:cn****1 文档编号:574426571 上传时间:2024-08-16 格式:PPT 页数:64 大小:1.34MB
返回 下载 相关 举报
C语言一维数组课件_第1页
第1页 / 共64页
C语言一维数组课件_第2页
第2页 / 共64页
C语言一维数组课件_第3页
第3页 / 共64页
C语言一维数组课件_第4页
第4页 / 共64页
C语言一维数组课件_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《C语言一维数组课件》由会员分享,可在线阅读,更多相关《C语言一维数组课件(64页珍藏版)》请在金锄头文库上搜索。

1、 定义定义例:例:格式:格式:类型说明符类型说明符 数组名数组名常量表达式常量表达式;int a5; charchar c20; c20; float x10;定义一个数组元素为整型的定义一个数组元素为整型的定义一个数组元素为整型的定义一个数组元素为整型的, , 包含五包含五包含五包含五个数组元素的一维数组个数组元素的一维数组个数组元素的一维数组个数组元素的一维数组定义一个数组元素为字符型的定义一个数组元素为字符型的定义一个数组元素为字符型的定义一个数组元素为字符型的, , 包含包含包含包含2020个数组元素的一维数组个数组元素的一维数组个数组元素的一维数组个数组元素的一维数组定义一个数组元素

2、为浮点型的定义一个数组元素为浮点型的定义一个数组元素为浮点型的定义一个数组元素为浮点型的, , 包含包含包含包含1010个数组元素的一维数组个数组元素的一维数组个数组元素的一维数组个数组元素的一维数组决定数组元决定数组元决定数组元决定数组元素的类型素的类型素的类型素的类型用户为数组用户为数组用户为数组用户为数组起的名字起的名字起的名字起的名字决定数组决定数组决定数组决定数组元素个数元素个数元素个数元素个数2 2说明:说明:1.1.1.1.数数数数组组名名名名定定定定名名名名规规则则和和和和变变量量量量名名名名相相相相同同同同,遵遵遵遵循循循循标标识识符符符符定定定定名名名名规则规则。2.2.在

3、定在定在定在定义义数数数数组时组时,需要指定数,需要指定数,需要指定数,需要指定数组组中元素的个数,方中元素的个数,方中元素的个数,方中元素的个数,方括弧中的括弧中的括弧中的括弧中的常量表达式常量表达式常量表达式常量表达式用来表示元素的个数,即数用来表示元素的个数,即数用来表示元素的个数,即数用来表示元素的个数,即数组组长长度。度。度。度。3.3.常量表达式中可以包括常量表达式中可以包括常量表达式中可以包括常量表达式中可以包括常量和符号常量常量和符号常量常量和符号常量常量和符号常量,但不能,但不能,但不能,但不能包含包含包含包含变变量。也就是量。也就是量。也就是量。也就是说说,C C语语言不允

4、言不允言不允言不允许对许对数数数数组组的大小的大小的大小的大小作作作作动态动态定定定定义义,即数,即数,即数,即数组组的大小不依的大小不依的大小不依的大小不依赖赖于程序运行于程序运行于程序运行于程序运行过过程程程程中中中中变变量的量的量的量的值值。3 33二、引用一维数组变量的数组元素二、引用一维数组变量的数组元素原原则: 数数组型型变量必量必须先定先定义, 后使用。后使用。 只能逐个引用数只能逐个引用数组元素元素, 不能直接引用整个不能直接引用整个数数组型型变量。量。 数数组下下标从从 0 开始。开始。a0a1a2例如例如, 定义数组定义数组a: int a3, 数组元素为:数组元素为:4

5、44二、引用一维数组变量的数组元素二、引用一维数组变量的数组元素原原则: 数数组型型变量必量必须先定先定义, 后使用。后使用。 只能逐个引用数只能逐个引用数组元素元素, 不能直接引用整个不能直接引用整个数数组型型变量。量。 数数组下下标从从 0 开始。开始。a0a1a2例如例如, 定义数组定义数组a: int a3, 数组元素为:数组元素为:对数组变量的处理只对数组变量的处理只能一个数组元素一个能一个数组元素一个数组元素地处理数组元素地处理例 int a10; printf(“%d”,a); ()()必须 for(j=0;j10;j+ printf(“%dt”,aj);6 6注意:注意:定义数

6、组时用到的定义数组时用到的定义数组时用到的定义数组时用到的“ “数组名常量表达式数组名常量表达式数组名常量表达式数组名常量表达式” ” 和引和引和引和引用数组元素时用到的用数组元素时用到的用数组元素时用到的用数组元素时用到的“ “数组名下标数组名下标数组名下标数组名下标” ” 是有区别是有区别是有区别是有区别的。的。的。的。例如例如例如例如 intintintint a10; a10; a10; a10; t=a6; t=a6; t=a6; t=a6; 例题巩固在C 语言中,引用数组元素时,其数组下标的数据类型允许是 。A)整型常量 B)整型表达式C)整型常量或整型表达式 D)任何类型的表达式

7、C语言中,数组名代表 A数组全部元素的值B数组首地址C数组第一个元素的值D数组元素的个数 合法的数组定义是Aint a =”string”;Bint a5=0,1,2,3,4,5;Cchar a=”string”;Dchar a =0,1,2,3,4,5;若有定义和语句:char s10; s=a,b,c,d; printf(“%sn”,s); 则结果是(以下u代表空格)A输出abcdB输出aC输出abcdu u u u uD编译不通过若有说明:int a10;则对a 数组元素的正确引用是 。 A)a10 B)a3.5 C)a(5) D)a10-10以下能对一维数组a 进行正确初始化的语句是

8、。A)int a10=(0,0,0,0,0); B)int a10=;C)int a=0; D)int a10=”10*1”; 对以下说明语句的正确理解是 。int a10=6,7,8,9,10;A) 将5 个初值依次赋给a1至a5B) 将5 个初值依次赋给a0至a4 C) 将5 个初值依次赋给a6至a10D) 因为数组长度与初值的个数不相同,所以此语句不正确若已定若已定义数数组:float a8;则下列下列对数数组元素元素引用正确的是引用正确的是 。 A a0 =1; B. a8 = a0; C. a=1; D. a3.5=1;阅读程序,写出运行结果:main()int i,a10;for(

9、i=0;i0)printf(“%3d”,a-i);if(!(i%5)putchar(n);输入数据 1 2 3 4 5 6 7 8 9 10,则运行结果为:A1 2 3 4 5 6 7 8 9 10B10 9 8 7 6 5 4 3 2 1 C1 2 3 4 5 6 7 8 9 10D10 9 8 7 65 4 3 2 1 执行下面的程序段后,变量k中的值为_。 int k=3,s2; s0=k; k=s1*10; A) 不定值 B) 33 C) 30 D) 10 下列程序执行后的输出结果是_。 main() int a,b5; a=0; b0=3; printf(%d,%dn,b0,b1);

10、 A) 3,0 B) 3 0 C) 0,3 D) 3,不定值 以下程序的输出结果是_。 main( ) int i,p=0,a10=1,5,9,0,-3,8,7,0,1,2; for(i=1;i10;i+) if(aiap) p=i; printf(%d,%dn,ap,p); A) -3,4 B) 0,1 C) 9,2 D) 2,9 有如下说明: int a10=0,1,2,3,4,5,6,7,8,9; 则数值不为9的表达式是_。 A) a10-1 B) a8 C) a9-0 D) a9-a0 有如下程序 main() int n5=0,0,0,i,k=3; for(i=0;ik;i+) ni

11、=i+1; printf(%dn,nk); 该程序的输出结果是_。 A) 不确定的值 B) 4 C) 2 D) 0 212121使用数使用数组编程程:步骤:步骤:步骤:步骤:1.定义数组定义数组;2.对数组进行初始化对数组进行初始化;3.引用数组引用数组, 对数组进行相应的操作对数组进行相应的操作;4.对结果数组进行输出对结果数组进行输出;例例例例. . 使用数组编程使用数组编程使用数组编程使用数组编程, , 计算出前计算出前计算出前计算出前1010项项项项 fibonaccifibonacci 数列数列数列数列, , 要求一行打印要求一行打印要求一行打印要求一行打印5 5个数。个数。个数。个

12、数。斐波那契数列:斐波那契数列:斐波那契数列:斐波那契数列:1 1、1 1、2 2、3 3、5 5、8 8、1313、2121、3434、5555 怎么做?怎么做?222222例:例:例:例: 计计算出算出算出算出 fibonaccifibonacci 数列前数列前数列前数列前 10 10 项项 , , 要求一行打印要求一行打印要求一行打印要求一行打印5 5个数。个数。个数。个数。目标目标目标目标1 1:使用数组存放这:使用数组存放这:使用数组存放这:使用数组存放这1010个数个数个数个数; ;目标目标目标目标2 2:输出时:输出时:输出时:输出时, , 一行打印一行打印一行打印一行打印5 5

13、个数个数个数个数定义整型数组定义整型数组定义整型数组定义整型数组f f:intint f10 f10输出输出输出输出fifi, i, i:0909输出输出输出输出5 5个数换一次行。个数换一次行。个数换一次行。个数换一次行。232323f1 f1 :第二项:第二项:第二项:第二项, , 为为为为1;1;f0 f0 :第一项:第一项:第一项:第一项, , 为为为为0;0;f0 = 1;f0 = 1;f1 = 1;f1 = 1;从第三项开始从第三项开始从第三项开始从第三项开始, , 每一项为:每一项为:每一项为:每一项为:它的前两项之和它的前两项之和它的前两项之和它的前两项之和, , 即:即:即:

14、即:fifi = fi-1+ fi-2; = fi-1+ fi-2;(i i:2929)计算算 fibonacci 中的中的项:int f10;int f10;f0 = 1;f0 = 1;f1 = 1;f1 = 1;f ff0f0 f1f1 f2f2 f3f3f4f4f5f5f6f6f7f7f8f8f9f9for(i = 2;i10;i+)for(i = 2;i10;i+) fi = fi-1+fi-2; fi = fi-1+fi-2;for(ifor(i = 0;i10;i+) = 0;i10;i+) if ( i %5 = = 0 ) if ( i %5 = = 0 ) printf(np

15、rintf(n);); printf(%4d, printf(%4d, fifi);); 1 1 2 3 5 8 13 21 34 558 81313 2121343455555 52 23 3执行过程:执行过程:执行过程:执行过程:1 11 1252525四、对数组进行输入和输出四、对数组进行输入和输出 C C 语语言言言言规规定定定定, , 对对数数数数组组的使用只能逐个引用数的使用只能逐个引用数的使用只能逐个引用数的使用只能逐个引用数组组元素元素元素元素, , 不能一次引用整个数不能一次引用整个数不能一次引用整个数不能一次引用整个数组变组变量。量。量。量。 同同同同样样, , 对对数数数

16、数组组的的的的输输入和入和入和入和输输出也是依次出也是依次出也是依次出也是依次对对每个元素每个元素每个元素每个元素进进行的。行的。行的。行的。 即:即:即:即:printfprintf和和和和scanfscanf语语句的操作句的操作句的操作句的操作对对象是每个数象是每个数象是每个数象是每个数组组元素。元素。元素。元素。例:例: 输入输入10 个数到数组个数到数组a中中, 然后将它们输出。然后将它们输出。 怎么做?怎么做?26262727例例6.4 6.4 求若干个数求若干个数( (不多于不多于1010个个) )的最大数的最大数, ,最小数最小数#define N 10 #include std

17、io.hvoid main() int I,n; float aN,max,min; printf(input data numbers:); scanf(%d,&n); printf(enter numbers:); for(i=0;in;i+) scanf(%f,&ai); max=min=a0; for(ifor(i=1=1;inimax)max) max= max=aiai ; if(aiif(aimin)min) min= min=aiai ; printf(nmaxprintf(nmax=%=%f,minf,min=%=%fnfn ,max,minmax,min) ); 29292

18、9五、应用举例五、应用举例303030五、应用举例五、应用举例1、排序、排序u1、冒泡法排序、冒泡法排序u2、选择法排序法排序2、查找找u1、顺序序查找找u2、折半、折半查找找313131用数组编程时,可以这样思考:用数组编程时,可以这样思考:1. 1.在存储器中有一片连续的内存区,名称为在存储器中有一片连续的内存区,名称为在存储器中有一片连续的内存区,名称为在存储器中有一片连续的内存区,名称为a a。2.2.将需要处理的一组数据,依次放入这片连续内存区的每将需要处理的一组数据,依次放入这片连续内存区的每将需要处理的一组数据,依次放入这片连续内存区的每将需要处理的一组数据,依次放入这片连续内存

19、区的每一个单元中。对应的名称分别为:一个单元中。对应的名称分别为:一个单元中。对应的名称分别为:一个单元中。对应的名称分别为:a0a1a2a3 an-2an-1a0a1a2a3 a-2a-13.3.根据问题的需要,对这组数据中的每一个数据元素进行根据问题的需要,对这组数据中的每一个数据元素进行根据问题的需要,对这组数据中的每一个数据元素进行根据问题的需要,对这组数据中的每一个数据元素进行相应的处理,处理时的访问方式为:相应的处理,处理时的访问方式为:相应的处理,处理时的访问方式为:相应的处理,处理时的访问方式为:a i a i ,即:数组,即:数组,即:数组,即:数组a a中下标为中下标为中下

20、标为中下标为i i的位置处的数组元素。的位置处的数组元素。的位置处的数组元素。的位置处的数组元素。3232321. 有一个一维数组有一个一维数组, 有有 10 个整数存放其中个整数存放其中, 找出其中最大的一个数。找出其中最大的一个数。a0a1 a2 a3a4 a5 a6 a7a8a90 01 12 23 34 45 56 67 78 89 9数组数组amax = a0; for( i=1;imax ) max=ai; 定义定义main()main() int i, max, x10; int i, max, x10;printf(enter data:n);printf(enter data

21、:n);for(i = 0;i10;i+)for(i = 0;i10;i+)scanf(%d, scanf(%d, &xi&xi); );max = x0;max = x0;for(i = 1;i10;i+)for(i = 1;imax) max = xi; if(ximax) max = xi;输入输入处理处理输出输出printf(max = %dn, max);printf(max = %dn, max); 3434342. 用冒泡法对用冒泡法对 10 个整数按从小到大的顺序排个整数按从小到大的顺序排列。列。1.什么是什么是冒泡法排序冒泡法排序?2.排序的排序的过程程3.核心程序段核心程序

22、段4.完整程序完整程序怎么做?怎么做?353535冒泡法排序的思想冒泡法排序的思想假假假假设设有有有有 n n 个数个数个数个数, , 将相将相将相将相邻邻的两个数依次的两个数依次的两个数依次的两个数依次进进行比行比行比行比较较, , 使小使小使小使小的在前的在前的在前的在前, , 大的在后大的在后大的在后大的在后, , 那么第一那么第一那么第一那么第一轮轮比比比比较较 n-1 n-1 次就把最大次就把最大次就把最大次就把最大的数排到了最后。的数排到了最后。的数排到了最后。的数排到了最后。第二第二第二第二轮轮比比比比较较 n-2 n-2 次次次次, , 就把次大的数排到了倒数第二就把次大的数排

23、到了倒数第二就把次大的数排到了倒数第二就把次大的数排到了倒数第二, , 依此依此依此依此类类推推推推, , 直到第直到第直到第直到第 n-1 n-1 轮轮比比比比较较1 1 次次次次, , 将最小的数排到了将最小的数排到了将最小的数排到了将最小的数排到了第一第一第一第一, , 算法算法算法算法结结束。束。束。束。算法的整体思路是算法的整体思路是算法的整体思路是算法的整体思路是让让大的数不断地往下沉大的数不断地往下沉大的数不断地往下沉大的数不断地往下沉, , 小的数不小的数不小的数不小的数不断地往上冒断地往上冒断地往上冒断地往上冒, , 所以叫所以叫所以叫所以叫 冒泡排序法冒泡排序法冒泡排序法冒

24、泡排序法 。int a5 13 21 90 32 -1 13 21 32 90 -1第一轮的结果:第一轮的结果: 将最大的数移到了最后一个位置(将最大的数移到了最后一个位置(n-1)。)。 13 21 32 -1 90a0 a1 a2 a3 a4 第一轮第一轮 21 13 90 32 -1 13 21 90 32 -1 int a5 13 21 32 -1 90a0 a1 a2 a3 a4 13 21 32 -1 90 13 21 -1 32 90第二轮第二轮 13 21 32 -1 90第二轮的结果:第二轮的结果: 将第二大的数移到了将第二大的数移到了 n-2 的位置。的位置。int a5

25、a0 a1 a2 a3 a4 13 21 -1 32 90第三轮第三轮 13 21 -1 32 90 13 -1 21 32 90第三轮的结果:第三轮的结果: 将第三大的数移到了将第三大的数移到了 n-3 的位置。的位置。int a5 a0 a1 a2 a3 a4 a0 a1 a2 a3 a4 第四轮第四轮第四轮第四轮 13 -1 13 -1 21 32 21 32 9090 -1 13 21 32 9013 21 32 90 -1 13 21 32 90结果:结果:结果:结果:最后一轮的结果:最后一轮的结果: 将最小的数移到了第将最小的数移到了第 0 的位置。的位置。排序程序段:排序程序段:

26、排序程序段:排序程序段:41414242423. 选择法排序选择法排序要求:将要求:将要求:将要求:将n n个数按照从大到小的个数按照从大到小的个数按照从大到小的个数按照从大到小的顺顺序排列。序排列。序排列。序排列。前提:前提:前提:前提:n n个数放入一个一个数放入一个一个数放入一个一个数放入一个一维维数数数数组组中。中。中。中。选择选择法排序的思想:法排序的思想:法排序的思想:法排序的思想:a)a)第一次第一次第一次第一次, , 从从从从n n个数中个数中个数中个数中, , 找出一个最大的找出一个最大的找出一个最大的找出一个最大的, , 放到第一放到第一放到第一放到第一个数个数个数个数组组

27、元素的位置元素的位置元素的位置元素的位置处处。b)b)第二次第二次第二次第二次, , 从剩下的从剩下的从剩下的从剩下的n-1n-1个数中个数中个数中个数中, , 找出一个最大的找出一个最大的找出一个最大的找出一个最大的, , 放放放放到第二个数到第二个数到第二个数到第二个数组组元素的位置元素的位置元素的位置元素的位置处处。c)c)以此以此以此以此类类推推推推, , 第第第第n-1n-1次次次次, , 从剩下的两个数中从剩下的两个数中从剩下的两个数中从剩下的两个数中, , 找出一个找出一个找出一个找出一个最大的放到第最大的放到第最大的放到第最大的放到第n-1n-1个数个数个数个数组组元素的位置元

28、素的位置元素的位置元素的位置处处。引例:从一组数中,引例:从一组数中,找出其中最大的一个数。找出其中最大的一个数。引例:从一组数中,引例:从一组数中,找出其中最大的一个数。找出其中最大的一个数。引例:从一组数中,引例:从一组数中,找出其中最大的一个数。找出其中最大的一个数。4646463. 选择法排序选择法排序要求:将要求:将要求:将要求:将n n个数按照从大到小的个数按照从大到小的个数按照从大到小的个数按照从大到小的顺顺序排列。序排列。序排列。序排列。前提:前提:前提:前提:n n个数放入一个一个数放入一个一个数放入一个一个数放入一个一维维数数数数组组中。中。中。中。选择选择法排序的思想:法

29、排序的思想:法排序的思想:法排序的思想:a)a)第一次第一次第一次第一次, , 从从从从n n个数中个数中个数中个数中, , 找出一个最大的找出一个最大的找出一个最大的找出一个最大的, , 放到第一放到第一放到第一放到第一个数个数个数个数组组元素的位置元素的位置元素的位置元素的位置处处。b)b)第二次第二次第二次第二次, , 从剩下的从剩下的从剩下的从剩下的n-1n-1个数中个数中个数中个数中, , 找出一个最大的找出一个最大的找出一个最大的找出一个最大的, , 放放放放到第二个数到第二个数到第二个数到第二个数组组元素的位置元素的位置元素的位置元素的位置处处。c)c)以此以此以此以此类类推推推

30、推, , 第第第第n-1n-1次次次次, , 从剩下的两个数中从剩下的两个数中从剩下的两个数中从剩下的两个数中, , 找出一个找出一个找出一个找出一个最大的放到第最大的放到第最大的放到第最大的放到第n-1n-1个数个数个数个数组组元素的位置元素的位置元素的位置元素的位置处处。4747484848写一写一选择法排序算法(小法排序算法(小大)大)写一冒泡法排序算法(大写一冒泡法排序算法(大小)小)思考题:思考题:494949五、应用举例五、应用举例1、排序、排序u1、冒泡法排序、冒泡法排序u2、选择法排序法排序2、查找找u1、顺序序查找找u2、折半、折半查找找505050关于查找:关于查找:首先,

31、待首先,待查找的数据放在一个一找的数据放在一个一维数数组中;中;问题:到:到这样一个一一个一维数数组中去中去寻找一个找一个满足足某种特征的数某种特征的数组元素,如果找到,返回一个整元素,如果找到,返回一个整数数值,标志志这个数在数个数在数组中的位序;如果找不中的位序;如果找不到,返回整数到,返回整数0。查找的方法:找的方法:计算机中有算机中有许多的多的查找方法,在找方法,在这里,我里,我们只介只介绍两个方法:两个方法:顺序序查找和折半找和折半查找。找。5151511、顺序查找、顺序查找顺序序查找方法适用于找方法适用于无序存放无序存放的一的一组数据。数据。查找找从从一一维数数组的的最最后后一一个

32、个数数组元元素素开开始始比比较,直直到到找找到到指指定定的的数数组元元素素或或已已到到达达数数组的的头部依然没找到。部依然没找到。5252521、顺序查找、顺序查找说明:明:如如果果待待查找找的的数数据据有有n个个,那那么么,我我们定定义一个一个拥有有n+1个数个数组元素的一元素的一维数数组;其其中中,下下标为0的的数数组元元素素留留作作他他用用,待待查找的数据从下找的数据从下标为1的位置开始存放。的位置开始存放。查找找时,首首先先将将指指定定的的数数据据放放入入下下标为0的的位置,位置,然后开始然后开始查找。找。535353顺序查找过程:顺序查找过程:顺序查找时的内存状态:顺序查找时的内存状

33、态:1098765432100 0号单元空置号单元空置号单元空置号单元空置数据元素从数据元素从数据元素从数据元素从1 1号号号号单元开始存放单元开始存放单元开始存放单元开始存放545454顺序查找过程:顺序查找过程:10987654321021378819920564568075STST假设给定值假设给定值假设给定值假设给定值 key = 64key = 64,要求要求要求要求n n k k k k 6464 k k k k K=7K=7STk = keySTk = key, 问问问问: k = ?: k = ?555555顺序查找过程:顺序查找过程:109876543210213788199

34、20564568075STST假设给定值假设给定值假设给定值假设给定值 e = e = 6060,要求要求要求要求 STkSTk = e = e, 问问问问: k = ?: k = ?n n k k k k 6060 k k k k K=0K=0 k k 565656查找的结果:查找的结果:如果在如果在查找表中存在要找表中存在要查找的元素,找的元素,则返返回回该元素所在的位置的下元素所在的位置的下标;如果在如果在查找表中不存在要找表中不存在要查找的元素,找的元素,则返回整数返回整数 0;程序描述如下:程序描述如下:5858582、折半折半查找查找 若数组中的数据已经按照若数组中的数据已经按照从

35、小到从小到大大的顺序排好序,则查找过程可以的顺序排好序,则查找过程可以基于基于 折半折半 进行。进行。 折半查找又称为折半查找又称为二分查找二分查找。595959折半查找基本思想折半查找基本思想先与先与“中中间位置位置”的数的数组元素元素值比比较,若相等,若相等则查找成功,否找成功,否则:将将给定定值与与中中间位置位置的数的数组元素元素值比比较,如果:如果:给定定值中中间位置位置的数的数组元素元素值, 则在后半部在后半部继续进行折半行折半查找。找。否否则, 在前半部在前半部进行折半行折半查找。找。606060折半查找算法折半查找算法设待查元素所在区域的下界为设待查元素所在区域的下界为low,上

36、界为,上界为high,则中间位置,则中间位置mid = ( low + high )/ 2 若若mid元素值等于给定值,则查找成功元素值等于给定值,则查找成功; ; 若若mid元素值小于给定值,则在区域元素值小于给定值,则在区域mid + 1,high进行折半查找;进行折半查找; 若若mid元素值大于给定值,则在区域元素值大于给定值,则在区域low,mid-1内进行折半查找;内进行折半查找;616161例如例如: key = 64 的查找过程如下:的查找过程如下:low 指示查找区间的下界指示查找区间的下界high 指示查找区间的上界指示查找区间的上界mid = ( low + high )/20513192137566475808892 0 1 2 3 4 5 6 7 8 9 10 11lowhighmidlowmidhighmid主要代码:主要代码:假设已有定义:假设已有定义:int aN ,key , i, low, high,mid ,find=0; low=0; high=N-1;while (low=high ) mid=(low+high)/2; if ( key=amid ) find=1; break; else if (keyamid ) high=mid-1; else low=mid+1; 63636464

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号