动态数组
来源:互联网 发布:latex 算法伪代码 编辑:程序博客网 时间:2024/06/17 15:11
#include <stdio.h>#include <stdlib.h>#include <string.h>typedef struct{ int *data; int capacity; int len;}IntDyArray;IntDyArray *initArray(int capacity){ IntDyArray *arr; arr=(IntDyArray *)malloc(sizeof(IntDyArray)); arr->data=(int *)malloc(sizeof(int)*capacity); arr->len=0; arr->capacity=capacity; return arr;}void freeArray(IntDyArray *arr){ free(arr);}IntDyArray *applicationMemory(IntDyArray *arr){ IntDyArray *temp; temp = (IntDyArray *)malloc(sizeof(IntDyArray)); temp->data = (int *)malloc(sizeof(int) * arr->capacity * 2); for(int i=0;i<arr->len;i++) { temp->data[i]=arr->data[i]; } temp->len=arr->len; temp->capacity=arr->capacity*2; freeArray(arr); return temp;}int add(IntDyArray *arr,int val){ if(arr->len == arr->capacity) return 0; arr->data[arr->len++]=val; return 1;}IntDyArray *inputNum(IntDyArray *arr){ int num; while(~scanf("%d",&num)) { if(!add(arr,num)) { arr=applicationMemory(arr); add(arr,num); } } return arr;}void outputNum(IntDyArray *arr){ int i; for(i=0;i<arr->len;i++) { printf("%d\n",arr->data[i]); }}int main(){ IntDyArray *arr; arr=initArray(1); arr=inputNum(arr); outputNum(arr); freeArray(arr);}
0 0
- 动态数组
- 动态数组
- 动态数组
- 动态数组
- 动态数组
- 动态数组
- 动态数组
- 动态数组
- 动态数组
- 动态数组
- 动态数组
- 动态数组
- 动态数组
- 动态数组
- 动态数组
- 动态数组
- 动态数组
- 动态数组
- spark 部署在hadoop yarn
- 判断素数
- ELK采集Mysql、Oracle配置
- LSTM
- ImageView圆角处理one
- 动态数组
- 二分法查找
- halcon学习笔记(8)——QT显示halcon处理的图像和结果
- App Extension 与 App 之间的数据共享
- 如何安装配置SVN
- codeforces 722E
- HDU 5884 k叉的哈夫曼 O(n)构造
- uva 1354 Mobile Computing
- 常用正则表达式汇总