顺序数组的练习
2016-11-01 19:52
288 查看
/*顺序数组的练习*/ #include <stdio.h> #include <malloc.h> #include <stdlib.h> //定义一个结构体数组变量 typedef struct{ int * pBase; //定义一个指针变量,指向数组 int cnt; //定义一个整形变量表示当前数组的有效元素个数 int length; //定义数组的长度 }Arr; void init_Arr(Arr * pArr,int length); //初始化数组 void show_Arr(Arr * pArr); //数组显示 bool is_empty(Arr * pArr); //判断数组是否为空 bool append(Arr * pArr,int val); //向数组中追加元素 bool is_full(Arr * pArr); //判断数组是否已满 bool insert(Arr * pArr,int inval,int index); //向数组中插入数值 //主函数入口 void main(){ Arr arr; //定义一个Arr类型的结构体变量arr,在内存空间中申请一块空间给数组使用 init_Arr(&arr,6); append(&arr,3); append(&arr,8); append(&arr,4); printf("目前数组中有%d个元素\n",arr.cnt); if(insert(&arr,3,2)){ printf("插入值成功\n"); }else{ printf("插入值失败\n"); } show_Arr(&arr); } void init_Arr(Arr * pArr,int length){ pArr->pBase=(int *)malloc(sizeof(int) * length); if(NULL==pArr->pBase){ printf("给数组分配空间失败."); exit(-1); } else{ pArr->length = length; pArr->cnt = 0; } } void show_Arr(Arr * pArr){ if(is_empty(pArr)){ printf("数组为空.\n"); } else{ for(int i=0;i<pArr->cnt;i++){ printf("%d ",pArr->pBase[i]); } printf("\n"); } } bool is_empty(Arr * pArr){ if(pArr->cnt==0){ return true; } else{ return false; } } bool append(Arr * pArr,int val){ if(is_full(pArr)){ return false; } else{ pArr->pBase[pArr->cnt] = val; (pArr->cnt)++; return true; } } bool is_full(Arr * pArr){ if(pArr->cnt==pArr->length){ return true; } else{ return false; } } bool insert(Arr * pArr,int inval,int index){ if(is_full(pArr)){ return false; } if(index<0 || index>pArr->length){ return false; } else{ for(int j=pArr->cnt;j>index;j--){ pArr->pBase[j]=pArr->pBase[j-1]; } pArr->pBase[index]=inval; (pArr->cnt)++; return true; } }运行结果如下
相关文章推荐
- Java常见容器练习一(顺序容器,对象数组,集合容器)
- 指针练习 1002 将数组a中的n个整数按相反顺序存放
- 171122—数组程序练习(排序并输出下标&两个数组按顺序排成一个)
- 数据结构练习(22)调整数组顺序使奇数位于偶数前面
- (练习)调整数组顺序 使奇数位于偶数前面
- 练习五:按照顺序,合并数组
- 剑指Offer编程练习013——调整数组顺序使奇数位于偶数前面
- 剑指offer-算法题练习:part15 调整数组顺序使奇数位于偶数前面
- 字符串练习:对字符串数组,按字典顺序排列大小
- javascript字符串与数组练习
- 有数组a[n],用java代码将数组元素顺序颠倒
- 第九章中位数和顺序统计学之“寻找第2小元素”(练习9.1-1待改进)
- 剑指Offer——调整数组顺序使奇数位于偶数前面
- java-顺序和乱序数组的二分搜索
- 题目1516:调整数组顺序使奇数位于偶数前面
- 定义一个100长度的整型数组,使用rand函数生产随机数对每个元素进行赋值,顺序遍历该数组,输出所有值大于50的数。输出格式例子为:
- 九度_题目1516:调整数组顺序使奇数位于偶数前面
- php实现插入数组但不影响原有顺序的方法
- 关于数组的问题(连续子数组的最大和、数组中出现次数超过一半的数字、调整数组顺序使奇数位于偶数之前)
- 要求从键盘输入一个二维数组,然后将该二维数组按从大到小的顺序排列。