大概就是用陣列模擬動態陣列吧,功能包括插入,查詢,刪除,遍歷。可以進行初始化,動態擴容,以及最後釋放掉記憶體
**如下:
#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 則是隨著資...