欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新
页面位置 : > > 内容正文

OC中动态创建可变数组的问题.有一个数组,数组中有13个元素,先将该数组进行分组,每3个元素为一组,分为若干组,最后用一个数组统一管理这些分组.(要动态创建数组).两种方法,oc数组排序

来源: 开发者 投稿于  被查看 4625 次 评论:195

OC中动态创建可变数组的问题.有一个数组,数组中有13个元素,先将该数组进行分组,每3个元素为一组,分为若干组,最后用一个数组统一管理这些分组.(要动态创建数组).两种方法,oc数组排序


  1. <span style="font-size:24px;">//////第一种方法  
  2. //        NSMutableArray *arr = [NSMutableArray array];  
  3. //        for (int i = 0; i < 13; i ++) {  
  4. //            [arr addObject:[NSString stringWithFormat:@"lanou%d",i + 1]];  
  5. //        }  
  6. //        NSLog(@"%@",arr);  
  7. //  
  8. ////分组  
  9. //        NSMutableArray *arrs = [NSMutableArray array];  
  10. //        for (NSInteger i = 0; i < [arr count] ; i ++) {  
  11. //             
  12. //            NSMutableArray *arr1 = [NSMutableArray array];  
  13. //            NSInteger counts = 0;  
  14. //             
  15. //                while (counts != 3 && i < [arr count]  ) {  
  16. //                counts++;  
  17. //                [arr1 addObject:arr[i]];  
  18. //                 i ++;  
  19. //  
  20. //                  
  21. //            }  
  22. //            [arrs addObject:arr1];  
  23. //              
  24. //            i --;  
  25. //        }  
  26. //        NSLog(@"%@",arrs);  
  27.         //第二种  
  28. //        NSMutableArray *arr = [NSMutableArray array];  
  29. //        for (int i = 0; i < 26; i ++) {  
  30. //            [arr addObject:[NSString stringWithFormat:@"lanou%d",i + 1]];  
  31. //        }  
  32. //        NSLog(@"%@",arr);  
  33. //        NSMutableArray *arrs = [[NSMutableArray alloc] initWithCapacity:1];  
  34. //         NSMutableArray *smallArr = nil;//变量的定义  
  35. //        for (int i = 0; i < [arr count]; i ++) {  
  36. //            if (i % 3 == 0) {  
  37. //                //只要读到0,3,6,9,12就开辟空间存储接下来的元素  
  38. //                 smallArr = [[NSMutableArray alloc] initWithCapacity:1];  
  39. //                //将小数组添加到大数组中进行管理  
  40. //                [arrs addObject:smallArr];  
  41. //            }  
  42. //            [smallArr addObject:[arr objectAtIndex:i]];  
  43. //        }  
  44. //        NSMutableArray *arr = [NSMutableArray array];  
  45.              //[bigArr count] == 0;数组中有没有元素  
  46.         //big != nil; big 指向无效的空间(堆区空间)  
  47.   
  48. //        NSLog(@"%@",arrs);</span>  

怎创建一个动态数组,比如,我动态输入数组的元素个数N?

给你一个代码吧,具体的看一下注释:

#include<stdio.h>
#include<stdlib.h> //需要include这个头文件,后面malloc库函数要用它

void main()
{
int n,i;
int *a; //需要这么声明动态数组,也就是先声明一个指针
printf("enter the num of elements:");
scanf("%d",&n);

a=(int *)malloc(n*sizeof(int));//取得数组的成员个数后,需要动态的申请数组空间

for(i=0;i<n;i++)
a[i]=i+1;

printf("Output: ");

for(i=0;i<n;i++) printf("%d ",a[i]);

delete a;//动态数组使用完毕后不要忘了释放所申请的数组空间
}
 

C#中动态添加数组长度

数组长度是无法修改的,但是可以另外想办法。
第一种方法是使用List来代替,使用List.Add()方法增加内容。
第二种情况 如果是因为函数需要数组作为参数之类的原因的话,可以新建1个长度为新的长度的数组,然后使用Array.Copy()将原数据复制到新的数组中。
Array.Copy(要复制的数据数组, 原数组复制开始处的索引, 接收数据数组,接收数据存储开始处的索引,复制数据的长度);
例如 :复制A数组的所有数据到B数组的开始位置。
Array.Copy(ArrayA,0,ArrayB,0,ArrayA.Length);
 

相关文章

    暂无相关文章
相关频道:

用户评论