單鏈表的應用3(鍊錶排序輸出)

2021-07-10 23:13:42 字數 769 閱讀 6009

設head是帶頭結點的單鏈表的頭指標,試寫演算法,按遞增次序輸出單鏈表中各結點的資料元素,並釋放結點所占用的儲存空間。要求不允許用陣列作為輔助空間。

採用直接排序的方法,只借助於乙個鍊錶節點的空間,把鍊錶按表內元素從小到大的順序排好之後,按順序輸出即可。

**實現:

#include #include #include using namespace std;

typedef struct node

linklist;

linklist* create()

else

return null;

}int insert(linklist *head,int e)

q->next=p;

return 1;

}return 0;

}void sortlink(linklist *head)

}}void output(linklist *head)

printf("\n");

}void freelink(linklist *head)

}int main()

{ struct node *head;

int n;

int e,flag=0;

while(scanf("%d",&n)!=eof)

{if(n==-1)

break;

else

{head=create();

if(head!=null)

{for(int i=0; i

鍊錶專案3 單鏈表應用

linklist.h ifndef linklist h included define linklist h included 檔名稱 main.cpp,hanshu.cpp,list.h 完成日期 2015年10月1日 版本號 code block 13.12 問題描述 單鏈表的應用 輸入描述 ...

專案3 單鏈表的應用(3)

檔名稱 main.cpp,linklist.cpp,linklist.h 完成日期 2015年10月12日 版本號 vc 6.0 問題描述 如下 輸入描述 無 程式輸出 y or n 問題及 3 設計乙個演算法,判斷單鏈表l是否是遞增的。實現這個演算法,並完成測試。ifndef linklist h...

單鏈表 鍊錶倒置

鍊錶屬於動態資料結構,可以模擬成一 環 接一 環 的鏈條,這裡每一 環 視作乙個結點,結點串在一起形成鍊錶。這種資料結構非常靈活,結點數目無須事先指定,可以臨時生成。每個結點有自己的儲存空間,結點間的儲存空間也無需連線,結點之間的串連由指標來完成,指標的操作又極為靈活方便,無須移動大批資料,只需修改...