struct node
{
int data;
node* next;
};
struct linklist
{
node* head; //表头指针
int n; //线性表的长度
};
int main(int argc, char* argv[])
{
printf("Hello World!/n");
return 0;
}
//定位
node* loc(linklist L,int i)
{
if(i<0 || i>L.n)
{
return NULL;
}
else
{
int j=0;
node* temp = L.head; //指向第一个元素
while(j<i)
{
temp = temp->next;
j++;
}
return temp;
}
}
//往第i个节点的后面,插入值为x的接点
void ins(linklist &L,int i,int x)
{
//如果i的范围<0 或 >L.n
if(i<0 || i>L.n)
{
return; //出错,不进行插入
}
node* prevNode = loc(L,i); //找到第i个节点
node q = new node();
q.data = x;
q.next = prevNode->next;
prevNode->next = q;
L.n++;
}
//删除第i个元素
void del(linklist& L,int i)
{
if(i<1 || i>L.n)
{
return;
}
node* prevNode = loc(L,i-1);
node* q = prevNode->next;
prevNode->next = q->next;
L.n--;
delete q;
}