线性表(静态链表)
1.定义1
2
3
4
5
6
7
8
9struct node
{
int value;当前元素值
int next;该元素下一元素的下标(体现了链的概念)
}arr[........];
int top;//实际元素个数
2.插入(将元素q插入到第p个元素后面)1
2
3
4
5
6
7top++;//新开一个空元素
arr[top].value=q;//将所要插入的元素值放到该空元素内
arr[top].next=arr[p].next;//插入前第p元素的next在插入后就是q的下一个元素的下标
arr[p].next=top;//所插入元素的前一个元素也就是p的next所指向的即为所插入元素的下标,而前面我们将其放在top位置上则arr[p].next就要指向top
3.删除(将p的下一个元素删除)1
2
3
4int temp=arr[p].next;//提取下一元素的下标
arr[p].next=arr[temp].next;//将p的next直接指向下下一个元素的下标,就把p下一个元素给跳过;
PS:千万注意链表中的下标和next一定要区分开!