模擬動態陣列

2021-09-10 09:33:20 字數 1011 閱讀 5205

​ 大概就是用陣列模擬動態陣列吧,功能包括插入,查詢,刪除,遍歷。可以進行初始化,動態擴容,以及最後釋放掉記憶體

​ **如下:

#include #include #define error 0

#define ok 1

typedef struct vector vector;

void init(vector *a, int size)

void expand(vector *a)

free(old);

return;

}int insert(vector *a, int inx, int val)

for (int i = a -> len; i > inx; i--)

a -> q[inx] = val;

a -> len++;

return ok;

}int search(vector *a, int val)

return error;

}int delete_node(vector *a, int inx)

a -> len--;

return ok;

}void print(vector *a)

return;

}void clear(vector *a)

int main() else

break;

case 2:

scanf("%d", &p);

if(delete_node(a, p)) else

break;

case 3:

scanf("%d", &p);

if(search(a, p)) else

break;

default:

print(a);}}

clear(a);

return 0;

}

如果有寫的不對或者不全面的地方 可通過主頁的****進行指正,謝謝

trie陣列模擬

自閉 1.trie存的是字串,從s 0 開始存 const int maxn 1e6 int tot 0 全域性變數,記錄所以節點的數量 int endp maxn 每個節點編號都可能作為乙個字串的末尾,void inserts string s query 根據題目的需要寫 bool query ...

陣列模擬棧

在資料結構中棧是一種線性結構也是有序列表,棧的特點就是 filo 先進後出 棧是限制線性表中元素的增加和刪除只能在一端進行的特殊線性表,變化的一端為棧頂 top 固定的一端棧底 bottom 在學習棧時我們可以把它想象成乙個桶,依次放入東西,在取東西時只能從上面依次取出,不可能直接取出下面的東西。棧...

陣列模擬佇列

1.佇列本身是有序列表,若使用陣列的結構來儲存佇列的資料,則佇列陣列的宣告如下圖,其中 maxsize 是該隊 列的最大容量。2.因為佇列的輸出 輸入是分別從前後端來處理,因此需要兩個變數 front 及 rear 分別記錄佇列前後端的下標,front 會隨著資料輸出而改變,而 rear 則是隨著資...