用宏实现动态数组

原创 2004年07月21日 20:58:00

    提示:以下代码均未经详细测试。如果哪位有空,提出点意见,不胜感激,另本主题是用宏实现,所以不相关的就不要多说了。

#ifndef _VECTOR_H_
#define _VECTOR_H_

#include

typedef struct _vector{
    int size;
    void *data;
}VECTOR,*PVECTOR;

#define vector_init(x,t,z) do{/
                           PVECTOR v;int n;/
                           v=(PVECTOR)(x);n=(int)(z);/
                           v->data=malloc(v->size=sizeof(t)*n);/                         
                           }while(0)
                         
#define vector_cleanup(x) free((x)->data)
                         
#define vector_get(v,t,n) (((t*)((v)->data))[n])

#define vector_set_fast(v,t,n,d) (((t*)((v)->data))[n]=(d))

#define vector_set(x,t,z,d) do{/
                            PVECTOR v;int n;t temp;/
                            v=(PVECTOR)(x);n=(int)(z);temp=(d)/
                            if(n*sizeof(t)>v->size)/
                            {/
                                  void *dt;
                                dt=realloc(v->size=n*sizeof(t));/
                                if(!dt) break;/
                                v->data=dt;/
                            }/
                            memcpy(((t*)v->data)+n,&temp,sizeof(t));/
                            }while(0)
                               

#endif

用C#实现封装

本课程主要讲解了C#中属性的封装,方法的应用,构造函数的重载,以及值传递和引用传递的区别。在学习本课程之前需要掌握一定的基础知识。
  • 2017年07月23日 16:27

c语言实现一个简单的通用动态数组

背景 最近在看《系统程序员成长计划》,里面有个任务是实现一个动态数组,所以我用以前学过的知识实现了一个通用的动态数组,不过暂时只能存放int,char,double,字符串的还没实现。 设计与实现 一...
  • u013238038
  • u013238038
  • 2016-01-30 12:06:32
  • 2083

栈的动态数组实现

栈的特性:先进后出public class Stack { private ArrayList list = new ArrayList(); //1、置空栈 public vo...
  • GFJ0814
  • GFJ0814
  • 2016-10-02 12:55:32
  • 336

C语言实现使用动态数组来构造栈结构

我在面前一篇博客《C语言实现使用静态数组来构造栈结构》中使用了静态数组来模拟栈的操作。静态数组的大小是在代码中写死的,是存储在用户栈上面的,使用起来不灵活。在这篇博客中我会使用动态数组来构造,此时使用...
  • CHENYUFENG1991
  • CHENYUFENG1991
  • 2016-03-06 15:10:07
  • 4018

数据结构 栈(动态数组)

由静态数组实现的
  • u013946585
  • u013946585
  • 2014-07-10 00:35:52
  • 564

【C++数据结构】动态数组栈的实现

动态数组栈的实现 Stack.h#pragma once class Stack { public: Stack(); ~Stack(); private: int top ...
  • qq_28314759
  • qq_28314759
  • 2016-10-08 10:51:20
  • 199

蓝桥杯 算法训练 动态数组使用 大小写转换

从键盘读入n个整数,使用动态数组存储所读入的整数,并计算它们的和与平均值分别输出。要求尽可能使用函数实现程序代码。平均值为小数的只保留其整数部分。 样例输入:...
  • rl529014
  • rl529014
  • 2016-03-09 11:38:55
  • 930

动态数组实现stack

#pragma once template class Stack { public: Stack() :_size(0) , _capacity(3) , _arr(new T[_...
  • MJ813
  • MJ813
  • 2016-12-02 15:49:32
  • 203

【算法导论】10.1-5单数组实现双端队列

算法导论习题,单数组实现双端队列,欢迎拍砖!
  • cyp331203
  • cyp331203
  • 2015-01-02 22:47:09
  • 1364

类模板的应用--用类模板实现动态数组

template class DynamicArray { public: T* ptrt; int tcapacity; int tsize; public: DynamicArra...
  • vinnyjia
  • vinnyjia
  • 2017-05-06 19:40:47
  • 334
收藏助手
不良信息举报
您举报文章:用宏实现动态数组
举报原因:
原因补充:

(最多只允许输入30个字)