线性表常见操作代码
顺序表插入
int insert(int a[], int *n, int i, int x) {
if (i < 0 || i > *n) return 0;
for (int k = *n; k > i; --k) a[k] = a[k-1];
a[i] = x; (*n)++;
return 1;
}
单链表在 p 后插入
typedef struct Node {
int val;
struct Node *next;
} Node;
void insert_after(Node *p, int x) {
Node *s = (Node*)malloc(sizeof(Node));
s->val = x;
s->next = p->next;
p->next = s;
}