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;
}