如何使用下标遍历一维数组.doc

上传人:re****.1 文档编号:547513624 上传时间:2024-03-16 格式:DOC 页数:13 大小:137.01KB
返回 下载 相关 举报
如何使用下标遍历一维数组.doc_第1页
第1页 / 共13页
如何使用下标遍历一维数组.doc_第2页
第2页 / 共13页
如何使用下标遍历一维数组.doc_第3页
第3页 / 共13页
如何使用下标遍历一维数组.doc_第4页
第4页 / 共13页
如何使用下标遍历一维数组.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《如何使用下标遍历一维数组.doc》由会员分享,可在线阅读,更多相关《如何使用下标遍历一维数组.doc(13页珍藏版)》请在金锄头文库上搜索。

1、如何使用下标遍历一维数组1.2 如何使用下标遍历一维数组这是一个微不足道的问题。在数据结构中,经常需要遍历数组,我们可以使用任何逻辑来遍历数组。为此,我们可以使用简单循环。我们能够通过下标或通过与数组元素类型相同的指针来访问数组元素。在希望使用指针访问数组元素的情况下,我们需要使用数组的基地址(也就是第一个元素的地址)来初始化指针。下面的代码展示了如何使用下标来访问数组元素:1./在C中使用下标 2.int my_array_name4=10,20, 30,40; 3.int counter=0; 4.for(counter=0;counter4;counter+) 5. printf(%dn

2、,my_array_namecounter); 数组名就是一个指向该数组的指针,除此之外它什么也不是。1.2.1 如何使用指针遍历一维数组1./使用指针 2.int my_array_name4=10,20,30,40; 3.int counter=0; 4.for(counter=0;counter4;counter+) 5. printf(%dn,*(my_array_name+counter); 1.2.2 如何使用下标遍历二维数组1.int my_2d_array1010; 2./假定数组my_2d_array 已经预先被填充了数据 3.int i,j; /遍历这个数组 4.for(i

3、=0;i10;i+) /向下遍历各行 5. for(j=0;j10;j+) /穿越各列 6. printf(%d, aij); 7.printf(n); 8.1.2.3 如何使用指针遍历二维数组 9.for(i=0;i10;i+) 10. for(j=0;j10;j+) 11. printf(%d,*(*(a+i)+j); 12.printf(n); 1.3 如何操作数组元素在数据结构中,你或许必须求数组元素的和,或者对数组元素作某种类型的数学运算。为了让事情更复杂,你或许需要对数组下标进行函数运算,之后使用满足某个预先确定条件的那些下标的元素,并将这些元素作为另一个函数的参数。下面是输出11

4、0之间偶数平方的一段代码:1.#include 2.#include 3.#include 4.int isEven(int m) 5. 6. return m%2=0?1:0; 7. 8. 9.int main() 10. 11. int a10; int i; for(i=0;i9;i+) 12. ai=i+1; 13. for(i=0;i9;i+) 14. 15. /检查下标是不是偶数 16. if(isEven(i+1) 17. /能够完成像 18. /加法 19. /乘法 20. /之类的任何数学运算 21. printf(%fn,pow(float)ai,2); 22. 23. g

5、etch(); 24. return 0; 25. 你或许被要求对数组的某个特定部分进行函数运算。例如,如果想找出某个数是否能够被11整除,那么你需要找出偶数位置和奇数位置数字和之间的差值。下面给出了一些数组元素的操作示例:1.4 如何把指定范围内的数据元素加起来这个函数把数组的所有元素加起来,并把和返回给调用方法。这个函数以数组名称和开始下标与结束下标作为参数。下面是C代码:1.int Add(int array,int start,int finish) 2. 3. int i=start; 4. int sum = 0; 5. for(;i=finish;i+) 6. sum+=arra

6、yi; 7. return sum; 8. 这个方法把位于开始下标和结束下标(包括这两个下标)之间的所有数组元素加起来。比如说,存在下面的数组:1.int a=1,2,3,4,5,66,7,8,9,10,11,12; 我们想把15加起来;那么我们可以用Add(a,0,6)调用上面的方法。如果把开始下标设为0,结束下标设为数组元素的个数减1,那么这个函数就能够用于计算所有数组元素的和。也就是说,对于上面的数组,如果你想计算所有数组元素的和,那么我们应该编写:1.Add(a,0,11); 1.5 如何把数组中偶数位置和奇数位置的元素加起来要把指定范围内的元素加起来,我们能够像上面的代码那样传递开始

7、下标和结束下标。我们能够让这个函数更加智能化。这一智能函数能够用于将数组中偶数位置或奇数位置内的整数加起来,或者能够用于返回指定范围所有元素的和。将一个标志作为第三个参数传递。如果该参数为0,那么方法返回指定范围内(包括开始下标和结束下标元素)所有元素的和,如果该参数为1,那么它将返回偶数位置数值的和。如果该参数为2,那么这个方法返回由开始下标和结束下标指定范围内所有奇数元素的整数和。下面是C代码:1. doubleArrayAdd(doublearray,intstart,intfinish,intflag) 2. 3. inti=start; 4. doublesum=0; 5. if(f

8、lag=0)/将start到finish之间的所有元素加起来 6. 7. for(;i=finish;i+) 8. sum+=arrayi; 9. 10. if(flag=1)/仅仅将偶数位置的数值加起来 11. 12. if(start%2=0)/到底从什么地方开始呢 13. i=start; 14. else 15. i=start+1; 16. for(;i=finish;i+=2) 17. sum+=arrayi; 18. 19. if(flag=2)/仅仅将奇数位置的数值加起来 20. 21. if(start%2!=0)/到底从什么地方开始呢 22. i=start; 23. el

9、sei=start+1; 24. for(;i=finish;i+=2) 25. sum+=arrayi; 26. 27. returnsum; 28. 1.10 如何删除数组中的某个特定数据项可以通过两种方法实现数组中的删除。它们是:(1)按数据项删除。(2)按位置删除。假定存在一个数组,它保存了下述整数1、2、3、4、5。我们想删除3。在删除之前,情况类似于图1.2(a)所示,删除之后内存分布如图1.2(b)所示。(点击查看大图)图1.2 删除数据项3前后数组的变化因此,为了删除3,必须做下列工作:(1)找出要被删除的数据项的位置。(2)对于位于要被删除元素右侧的所有元素,其下标减1。对于

10、位于要被删除元素前面的元素,其下标保持不变。(3)要被删除的元素被紧跟在其后的元素覆盖。(4)这个过程持续进行,直到数组的末尾为止。被删除数据项后面的元素下标都被减少1。1. voiddelete_item(inta,intsize,intx) 2. 3. inti; 4. intflag=0; 5. for(i=0;isize;i+) 6. if(ai=x)/找到要被删除的数字 7. 8. flag=1;/找到了所搜索的数字 9. break; 10. 11. if(flag=1)/将所有生育的元素都左移一个位置 12. for(intk=i;k=0&delete_locationsize) 5. 6. for(inti=delete_location;istrlen(myCodes)-1;i+) 7. arrayi=arrayi+1; 8. flag=1;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

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