#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <conio.h>
#define MAX_LIST_SIZE 100
typedef int element;
typedef struct {
element array[MAX_LIST_SIZE];
int size;
}ArrayListType;
void init(ArrayListType* L) {
L->size = 0;
}
int is_empty(ArrayListType* L) {
return L->size == 0;
}
int is_full(ArrayListType* L) {
return L->size == MAX_LIST_SIZE;
}
void print_list(ArrayListType* L) {
int i;
for (i = 0; i < L->size; i++) {
printf("%d ", L->array[i]);
}
printf("\n");
}
insert_last (ArrayListType* L, int item) {
if (!is_full(L)) {
item = L->array[L->size];
L->size++;
}
}
insert (ArrayListType* L, int pos, int item) {
if ((!is_full(L)) && (pos >= 0) && (pos <= L->size)) {
for (int i = (L->size - 1); i >= pos; i--) {
L->array[i + 1] = L->array[i];
}
L->array[pos] = item;
L->size++;
}
}
int delete(ArrayListType* L, int pos) {
element item;
item = L->array[pos];
for (int i = pos; i < (L->size - 1); i++) {
L->array[i] = L->array[i + 1];
}
L->size--;
return item;
}
int main(void) {
ArrayListType list;
init(&list);
insert(&list, 0, 10);
insert(&list, 0, 20);
insert(&list, 0, 30);
insert_last(&list, 40);
delete(&list, 0);
print_list(&list);
return 0;
}