私は2つのリンクされたリストを取って一緒に置くことになっている関数を持っています。C 2つのリンクされたリストの追加とソート
私はそれをソートしたいが、私は、私はこれでwhileループを交換する際にセグメンテーションフォールトを取得しておくvoid Append(struct node** aRef, struct node** bRef){
struct node* first = *aRef;
struct node* second = *bRef;
struct node* temp = NULL;
while(first != NULL || second != NULL){
Push(&temp, first->data);
Push(&temp, second->data);
first = first->next;
second = second->next;
}
*aRef = temp;
DeleteList(&second);
}
:
while(first != NULL || second != NULL){
if(first->data < second->data){
Push(&temp, first->data);
first = first->next;
}
else{
Push(&temp, second->data);
second = second->next;
}
}
プッシュ()関数は、単に構造体のノードにいくつかのデータを追加します。
をvoid Push(struct node** headRef, int data){
struct node* new = malloc(sizeof(struct node));
new->data = data;
new->next = *headRef;
*headRef = new;
}
struct node{
int data;
struct node* next;
};
という属性にアクセスしようとしているからです。これでリストも完全にソートされないことに気づきました。 –