H5W3
当前位置:H5W3 > 问答 > 正文

数据结构链表相关问题

1.某单链表中的数据元素结构如下:

struct node{
char data;
struct node * next;
}

并有如下别名:

typedef struct node * linklist;

要求实现一个函数,打印链表中的倒数第k个结点中的值(如果有的话),并返回0;如果找不到,则返回-1 。函数原型如下:

int print_k(linklist l,int k)
  1. 定义一个定长整型数组结构(结构体类型),设计两个算法:①.在第一次出现的元素y之前插入元素x;②.将所有奇数元素放在前面、偶数元素放在后面,并说明这两个算法的时间、空间复杂度。

回答

问题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:

采纳本答案后继续回答你。

未经允许不得转载:H5W3 » 数据结构链表相关问题

赞 (0)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址