问题1:
int print_k(linklist l,int k)
{
int * arr = (int *)malloc(sizeof(int) * k);
for (int i = 0; i < k; i++) arr[i] = -1;
while (l)
{
for (int i = 1; i < k; i++) arr[i] = arr[i - 1];
arr[0] = l->data;
l = l->next;
}
return arr[0];
}
问题2:
#include <stdio.h>
#include <stdlib.h>
typeof struct
{
int N;
int *arr;
} * Sqlist;
int main()
{
int N;
scanf("%d", &N);
Sqlist; l;
l->N = N + 1;
l->arr = (int *) malloc(sizeof(int) * (N + 1)) ;
for (int i = 0; i < N; i++) scanf("%d", &l->arr[i]);
int y;
int x;
scanf("%d%d",&x, &y);
int j = 0;
for (j = 0; j < N; j++) if (l->arr[i] == y) break;
for (int k = N; k > i; k--) l->arr[k] = l->arr[k - 1];
arr[j] = x;
}
算法时间复杂度O(n),空间复杂度O(1)