smon
Antworten: |
1 |
Hits: |
11.258 |
|
|
Meine Frage:
hallo an alle, hat jemand vielleicht lust/zeit mir zu helfen? ich übe gerade mit einfach verketteten listen in c umzugehen und habe dafür folgenden code:
Meine Ideen:
/*linked list*/
#include <stdio.h>
#include <stdlib.h>
typedef struct {
int key;
struct ListElement *next;
} ListElement;
typedef struct {
ListElement *first;
} List;
void insert_Element (ListElement *newElement, List *list) {
ListElement *temp;
temp = list->first;
while (temp->next != NULL) {
temp = temp->next;
}
temp->next = newElement;
}
void delelte_Element(ListElement *delElement, List *list) {
ListElement *temp;
ListElement *del;
temp = list->first;
if (temp == delElement) {
list->first = temp->next;
free(temp);
return;
}
while (temp != NULL) {
if(temp->next ==delElement) {
del = temp->next;
temp->next = del->next;
free(del);
}
temp = temp->next;
}
}
void print_list(List * list) {
ListElement *temp;
temp = list->first;
while(temp != NULL) {
printf("%d\n", temp->key);
temp = temp->next;
}
printf("--------------");
}
int main () {
List list;
ListElement *a;
a = malloc(sizeof(ListElement));
a->key = 10;
a->next = NULL;
list.first =a; //unser erstes Element ist a
ListElement *b;
b = malloc(sizeof(ListElement));
b->key = 15;
b->next = NULL;
print_list(&list);
return 0;
}
leider kommt bei dem versuch der compilierung folgende warnung
Warnung: Zuweisung an »ListElement *« von inkompatiblem Zeigertyp »struct ListElement *« [-Wincompatible-pointer-types]
| del = temp->next;
kann mir jemand von euch weiterhelfen?
|
|