1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- struct IntList {
- int size;
- int* data;
- };
- IntList* listNewInt() {
- IntList* list = new IntList[1];
- list->size = 0;
- list->data = new int[4];
- return list;
- }
- void listAdd(IntList* list, int i) {
- int l = length(list->data);
- if(list->size >= l) {
- int* newData = new int[l * 2];
- for(int i = 0; i < l; i++) {
- newData[i] = list->data[i];
- }
- delete list->data;
- list->data = newData;
- }
- list->data[list->size] = i;
- list->size++;
- }
- int listGetLength(IntList* list) {
- return list->size;
- }
- int listGetIndex(IntList* list, int index) {
- return list->data[index];
- }
- void listDelete(IntList* list) {
- delete list->data;
- delete list;
- }
- void main() {
- IntList* list = listNewInt();
- for(int i = 0; i < 5; i++) {
- listAdd(list, i * 50 + 3);
- }
-
- for(int i = 0; i < listGetLength(list); i++) {
- print listGetIndex(list, i);
- }
-
- listDelete(list);
- }
|