C中的单链表 - 插入元素值' v'位置' pos'

时间:2017-05-22 16:53:25

标签: c linked-list singly-linked-list

我的作业需要在C中实现单链接列表并编写一些函数。我的演讲方式受到约束......函数的结构和参数已经确定,所以我无法改变其中任何一个。

该函数应该在列表l中插入一个值为v的列表元素。

我会发布我先给予的内容以及之后的尝试:

struct le {
    int value;
    struct le *next;
};

typedef struct le listelement;
typedef listelement *list;

int insert_pos(int v, int pos, list *l);

同样,我必须按原样使用它。我对该功能的尝试如下:

int insert_pos(int v, int pos, list *l) {
    if (*l == NULL) {
        printf("empty");
        return -1;
    } else {
        listelement *new;
        new = malloc(sizeof(listelement));
        while (pos > 0) {
            l = l -> next;
            pos--;
        }
        new -> value = v;
        new -> next = *l;
        *l = new;
    }
}

l = l -> next;

导致我的编译器出现问题,因为它需要一个指针,但是将它改为* l并不会做任何事情。整件事情可能是混乱......

0 个答案:

没有答案