單鏈表操作總結

2021-05-27 08:58:58 字數 1137 閱讀 6884

這幾天看歐立奇的《程式設計師面試寶典》,發現其中單鏈表的建立的程式存在錯誤,特別改正如下,原書的程式求的鍊錶的長度要比正確的單鏈表的長度要多1。

在寫程式時候,要特別注意if和while的區別。

下面的程式是單鏈表的建立、插入、刪除、逆序、排序、測長等程式**,全部都除錯通過(存在的問題在於,將鍊錶的頭指標看成了乙個結點)。

#include using namespace std;

#include#define len sizeof(struct student)

typedef struct student

node;

struct student *creat()

else

}else

}//head=head->next;

p_old ->next =null;

int b= head->next->next->data;

return head;

}int length(struct student *head)

return num;

}void print(struct student *head)

coutnext !=null)

if (p_front->data==num)

else

}return head;

}node *insert(node *head,int num)

if(p_front->data >= num)

else if(p_front != head && p_front->next != null)

}else

return head;

}node *sort(node *head)

n=length(head);

int temp;

for(int i=1;idata < p->next->data)

p=p->next;}}

return head;

} node *reverse(node *head)

head ->next;

head = p;

return head;

} void main()

單鏈表操作

include include typedef struct node tag node 建立不帶頭結點的單鏈表 node createnode else p q scanf d n 函式體結束,q指標變數被釋放,不能通過head引數帶回到呼叫函式 要把head帶回到呼叫函式,要把它定義為指向指標的...

單鏈表操作

include stdio.h include malloc.h include define n 10 代表要處理的元素個數 可以誰使用者的意思修改 define ok 1 define overflow 0 typedef int elemtype typedef int status type...

單鏈表操作

這一次補上鍊表的注釋,是空閒的時候敲出來的,如果有錯,希望幫忙糾正 部分給出了詳細說明,這裡只選取了基本操作,因為更複雜的鍊錶操作太繁瑣,這裡就不寫了 如果有什麼不懂的地方,可以隨時詢問 include using namespace std typedef int elemtype struct ...