#include <bits/stdc++.h>
/* cai dat danh sach bang mang*/
#define MAXLEN 6
typedef struct LIST
{
int elements[MAXLEN];
int last; // vi tri cua phan tu cuoi cung
}list_type;
list_type L;
// initialization
void initialization() {
// ban dau danh sach co 1 phan tu 0 o dau tien
L.last = 0;
for(int i = 0 ; i < MAXLEN ; i++) {
L.elements[i] = 0;
}
}
// insert value x into index p
void insertion(int x, int p) {
if(L.last >= MAXLEN - 1) {
printf("array overflow\n");
// return; // de ham ket thuc "dot tu"
} else {
if(p > L.last || p < 0) {
printf("index not valid\n");
// return;
} else {
L.last++;
for(int q = L.last; q > p ; q--) {
L.elements[q] = L.elements[q-1];
}
L.elements[p] = x;
}
}
}
// delete
// vi tri p
void deletion(int p) {
if( p >= MAXLEN || p > L.last || p < 0) {
printf("index is not valid\n");
} else {
for(int q = p ; q <= L.last - 1 ; q++) {
L.elements[q] = L.elements[q+1];
}
L.last--;
}
}
// display
void display() {
for(int i = 0 ; i <= L.last ; i++) {
printf("%d ",L.elements[i]);
}
printf("\n");
}
int location(int value) {
for(int i = 0 ; i <= L.last ; i++) {
if( L.elements[i] == value) return i;
}
return -1;
}
int main(int argc, char const *argv[])
{
initialization();
insertion(1,0);
insertion(2,0);
insertion(3,0);
insertion(4,0);
insertion(5,0);
display();
// deletion(5);
display();
printf("%d\n",location(-1));
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CgovKiBjYWkgZGF0IGRhbmggc2FjaCBiYW5nIG1hbmcqLwoKI2RlZmluZSBNQVhMRU4gNgoKdHlwZWRlZiBzdHJ1Y3QgTElTVAp7CglpbnQgZWxlbWVudHNbTUFYTEVOXTsKCWludCBsYXN0OyAvLyB2aSB0cmkgY3VhIHBoYW4gdHUgY3VvaSBjdW5nCn1saXN0X3R5cGU7Cmxpc3RfdHlwZSBMOwovLyBpbml0aWFsaXphdGlvbgp2b2lkIGluaXRpYWxpemF0aW9uKCkgewoJLy8gYmFuIGRhdSBkYW5oIHNhY2ggY28gMSBwaGFuIHR1IDAgbyBkYXUgdGllbgoJTC5sYXN0ID0gMDsKCWZvcihpbnQgaSA9IDAgOyBpIDwgTUFYTEVOIDsgaSsrKSB7CgkJTC5lbGVtZW50c1tpXSA9IDA7Cgl9Cn0KLy8gaW5zZXJ0IHZhbHVlIHggaW50byBpbmRleCBwCnZvaWQgaW5zZXJ0aW9uKGludCB4LCBpbnQgcCkgewoJaWYoTC5sYXN0ID49IE1BWExFTiAtIDEpIHsKCQlwcmludGYoImFycmF5IG92ZXJmbG93XG4iKTsKCQkvLyByZXR1cm47IC8vIGRlIGhhbSBrZXQgdGh1YyAiZG90IHR1IgoJfSBlbHNlIHsKCQlpZihwID4gTC5sYXN0IHx8IHAgPCAwKSB7CgkJCXByaW50ZigiaW5kZXggbm90IHZhbGlkXG4iKTsKCQkJLy8gcmV0dXJuOwoJCX0gZWxzZSB7CgkJCUwubGFzdCsrOwoJCQlmb3IoaW50IHEgPSBMLmxhc3Q7IHEgPiBwIDsgcS0tKSB7CgkJCQlMLmVsZW1lbnRzW3FdID0gTC5lbGVtZW50c1txLTFdOwoJCQl9CgkJCUwuZWxlbWVudHNbcF0gPSB4OwoJCX0KCX0KfQovLyBkZWxldGUKLy8gIHZpIHRyaSBwCnZvaWQgZGVsZXRpb24oaW50IHApIHsKCWlmKCBwID49IE1BWExFTiB8fCBwID4gTC5sYXN0IHx8IHAgPCAwKSB7CgkJcHJpbnRmKCJpbmRleCBpcyBub3QgdmFsaWRcbiIpOwoJfSBlbHNlIHsKCQlmb3IoaW50IHEgPSBwIDsgcSA8PSBMLmxhc3QgLSAxIDsgcSsrKSB7CgkJCUwuZWxlbWVudHNbcV0gPSBMLmVsZW1lbnRzW3ErMV07CgkJfQoJCUwubGFzdC0tOwoJfQp9CgovLyBkaXNwbGF5CnZvaWQgZGlzcGxheSgpIHsKCWZvcihpbnQgaSA9IDAgOyBpIDw9IEwubGFzdCA7IGkrKykgewoJCXByaW50ZigiJWQgIixMLmVsZW1lbnRzW2ldKTsKCX0KCXByaW50ZigiXG4iKTsKfQoKaW50IGxvY2F0aW9uKGludCB2YWx1ZSkgewoJZm9yKGludCBpID0gMCA7IGkgPD0gTC5sYXN0IDsgaSsrKSB7CgkJaWYoIEwuZWxlbWVudHNbaV0gPT0gdmFsdWUpIHJldHVybiBpOwoJfQoJcmV0dXJuIC0xOwp9CgppbnQgbWFpbihpbnQgYXJnYywgY2hhciBjb25zdCAqYXJndltdKQp7Cglpbml0aWFsaXphdGlvbigpOwoJaW5zZXJ0aW9uKDEsMCk7CQoJaW5zZXJ0aW9uKDIsMCk7CglpbnNlcnRpb24oMywwKTsJCQoJaW5zZXJ0aW9uKDQsMCk7CQkKCWluc2VydGlvbig1LDApOwkJCglkaXNwbGF5KCk7CgkvLyBkZWxldGlvbig1KTsKCWRpc3BsYXkoKTsKCXByaW50ZigiJWRcbiIsbG9jYXRpb24oLTEpKTsKCXJldHVybiAwOwp9