-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathvector.h
77 lines (62 loc) · 1.88 KB
/
vector.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#pragma once
#define rank int
#define T int
typedef struct VECTOR
{
T *_elem;
rank _size;
rank _capacity;
int (*_check)(struct VECTOR* p, T val); //查找元素,返回位置
int (*_rmelem)(struct VECTOR* p, rank lo, rank hi); //删除任意区间元素
void (*_display)(struct VECTOR* p); //打印向量
int (*_insert)(struct VECTOR* p, rank r, T val); //任意位置插入
int (*_empty_init)(struct VECTOR* p, rank cap);//空初始化
void (*_deconstruct)(struct VECTOR* p); //析构
int (*_copyform_init)(struct VECTOR* p, T* const A, rank lo, rank hi, const int lenA); //区间拷贝初始化
void (*_expand)(struct VECTOR* p); //动态扩容
void (*_insert_tail)(struct VECTOR* p, T val); //尾插
int (*_rm_single)(struct VECTOR* p, rank r);//单个元素删除
}vector, * p_vector;
void construct(struct VECTOR* p); //构造
/*
int check(struct VECTOR *p, int val);
int rmelem(struct VECTOR *p, rank lo, rank hi);
void display(struct VECTOR *p);
rank insert(struct VECTOR *p, rank r, T val);
void expand(struct VECTOR *p);
int vec_init(struct VECTOR *p, unsigned int cap);
void deconstruct(struct VECTOR *p);
int copyform_init(struct VECTOR *p, int* const A, rank lo, rank hi);
void insert_tail(struct VECTOR* p, T val);
void init(struct VECTOR* p);
*/
/*
typedef struct VECTOR_OP
{
int (*_check)(struct VECTOR *p, int val);
int (*_remove)(struct VECTOR *p, rank lo, rank hi);
void (*_display)(struct VECTOR *p);
rank (*_insert)(struct VECTOR *p, rank r, T val);
int (*_vec_init)(struct VECTOR *p, unsigned int cap);
void (*_deconstruct)(struct VECTOR *p);
int (*_copyform_init)(struct VECTOR *p, int* const A, rank lo, rank hi);
}vector_op;
typedef struct CVEC
{
vector_pa vp;
vector_op* vop;
}cvec;
*/
/*
vector_op vec = {
._check = check,
._remove = remove,
._display = display,
._insert = insert,
._vec_init = vec_init,
._deconstruct = deconstruct,
._copyform_init = copyform_init
};
*/
//cvec vector;
//vector.vop = &vec;