#include <iostream>
using namespace std;
#define max 50
typedef int ElemType;
typedef struct Lnode
{
ElemType data;
struct Lnode * next;
}LinkNode;
void listcreat(LinkNode *&l, ElemType a[], int n)
{
LinkNode *s, *r;
l = (LinkNode *)malloc(sizeof(LinkNode));
r = l;
for (int i = 0; i < n; i++)
{
s = (LinkNode *)malloc(sizeof(LinkNode));
s->data = a[i];
r->next = s;
r = s;
}
r->next = NULL;
}
bool Listinsert(LinkNode * &l, int i, ElemType e)
{
int j = 0;
LinkNode *p = l, *s;
if (i <= 0) return false;
while (j < i - 1 && p != NULL)
{
j++;
p = p->next