1.线性表

#include<iostream>
#define for1(i,a,b) for(int i = a;i <=b;i ++)
using namespace std;
const int maxn = 1e4 + 7;
struct List {int data[maxn];int length;
}L;
int n;
void InitList(List& L)
{L.length = 0;
}int ListLength(List L)
{return L.length;
}int GetNode(List L,int i)
{if (L.length < i) return -1;return L.data[i];
}int LocateNode(List L, int x)
{for1(i, 1, L.length)if (L.data[i] == x)return i;return -1;
}void InsertList(List& L,int x, int i)
{for (int j = L.length;j >= i;j--)L.data[j + 1] = L.data[j];L.data[i] = x;L.length++;return ;
}void DeleteList(List& L, int i)
{for (int j = i;j < L.length;j++)L.data[j] = L.data[j + 1];L.length--;return;
}void OutList(List L)
{for1(i, 1, L.length) printf("%d ", L.data[i]);cout << endl;
}
int main()
{InitList(L);cin >> n;L.length=n;for1(i, 1, n) cin >> L.data[i];InsertList(L, 10, 4);OutList(L);DeleteList(L,4);OutList(L);return 0;
}