ngaut
asm/c/c++/......
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(31)
給我留言
查看公開留言
查看私人留言
隨筆分類
(128)
.net winform(1)
(rss)
asio(8)
(rss)
c/c++/ds(47)
(rss)
calculus
(rss)
Compilers:Principles,Techniques,and Tools (21)
(rss)
os study(1)
(rss)
others(50)
(rss)
隨筆檔案
(169)
2011年5月 (2)
2011年1月 (1)
2010年11月 (1)
2010年9月 (4)
2010年8月 (1)
2010年7月 (1)
2010年6月 (1)
2010年5月 (2)
2010年4月 (3)
2010年3月 (2)
2010年2月 (4)
2010年1月 (1)
2009年12月 (2)
2009年11月 (1)
2009年10月 (2)
2009年9月 (3)
2009年8月 (4)
2009年5月 (1)
2009年4月 (1)
2009年2月 (2)
2008年12月 (2)
2008年10月 (4)
2008年9月 (2)
2008年8月 (3)
2008年7月 (4)
2008年6月 (2)
2008年5月 (1)
2008年4月 (4)
2008年3月 (9)
2008年2月 (5)
2008年1月 (2)
2007年12月 (6)
2007年11月 (3)
2007年10月 (2)
2007年8月 (1)
2007年7月 (1)
2007年6月 (3)
2007年5月 (1)
2007年4月 (9)
2007年3月 (1)
2007年2月 (11)
2007年1月 (1)
2006年12月 (3)
2006年11月 (4)
2006年10月 (3)
2006年9月 (6)
2006年8月 (4)
2006年7月 (10)
2006年6月 (3)
2006年5月 (5)
2006年4月 (2)
2006年3月 (1)
2006年1月 (2)
2005年12月 (10)
文章分類
NetWork
(rss)
文章檔案
(3)
2008年10月 (2)
2008年4月 (1)
others
.net 設計模式牛人
da hua xi you
hzbairly的專欄
先瞄準目標市場再研發產品
linux內核
linux內核
linux牛人,調侃風格
經典
os 教程
os開發教程
Winter實驗室
某牛
用MSVC開發os
用MSVC開發os
something special
http://vm-kernel.org/blog/
vm and kernel
joshua_yu
網絡牛人
垃圾堆
安全高手
經典的c/c++
absurd的專欄
C++ 有價值blog索引(不斷更新)
C++ 有價值blog索引
cppblog的猛男
cppblog的猛男
cppreference
c/c++ standard library reference
crazy-bit
不論你在什么時候開始,重要的是開始之后就不要停止。 不論你在什么時候結束,重要的是結束之后就不要悔恨
guanwl的專欄
c++仿基因編程
junguo的專欄
設計模式
leotangcw的專欄
some resource aboutwinpcap
linux大牛
linux大牛,也精通windows的說
ralph623的專欄(c++高人)
c++高人
寒星軒
c++高手
熊春雷的專欄
c/c++/flex/bison
一雨田的專欄
設計模式和網絡編程
又一個內核的大牛
搜索
積分與排名
積分 - 396837
排名 - 60
最新評論
1.?re: 當asio::async_read與socket的async_read_some的區別
多個客戶端同時發送數據,m_packet不會出問題?這個讀取是多線程的還是單線程的呢?
--xgg
2.?re: 當asio::async_read與socket的async_read_some的區別
謝謝大哥的博客,看了你的這篇文章的時間,很是崇拜您
--楊立平
3.?re: 二叉樹的遍歷:前序,中序輸出有點問題,但是不知道到怎么修改,想請教各位大神
評論內容較長,點擊標題查看
--呆呆笨笨的孩紙
4.?re: 二叉樹的遍歷:前序,中序,后序,層序--包括遞歸和非遞歸實現
我自己寫的
http://lk1ngaa7.cf/?p=318
--lking
5.?re: 解決unresolved external symbol "public: int __thiscall CWnd::KillTimer(unsigned int)" (?KillTimer@CWnd@@QAEHI@Z)問題
評論內容較長,點擊標題查看
--lebesgue06
閱讀排行榜
1.?二叉樹的遍歷:前序,中序,后序,層序--包括遞歸和非遞歸實現(91565)
2.?解決error C2011: 'fd_set' : 'struct' type redefinition問題(16454)
3.?介紹一款國產開源C編譯器(14450)
4.?解決unresolved external symbol "public: int __thiscall CWnd::KillTimer(unsigned int)" (?KillTimer@CWnd@@QAEHI@Z)問題(13293)
5.?Database disk image is malformed 解決辦法(11024)
評論排行榜
1.?二叉樹的遍歷:前序,中序,后序,層序--包括遞歸和非遞歸實現(21)
2.?《自己動手寫嵌入式操作系統》源代碼(14)
3.?看了兩天boost::asio網絡庫相關的資料,寫了個小程序用異步tcp方式來傳文件,果然高效,速度穩定在10M/s左右(13)
4.?前段時間做的部分筆試題和答案(提醒自己)(9)
5.?最近寫了個小工具,自動往代碼里面加入垃圾代碼(9)
Powered by:
博客園
模板提供:
滬江博客
|
首頁
|
發新隨筆
|
發新文章
|
聯系
| |
管理
數據結構筆記:遞歸實現鏈表的逆序輸出
/**/
/*
*******************************************************************
created: 2005/12/22
created: 22:12:2005 14:06
filename: ReservePrint.c
author: Liu Qi
purpose: 鏈表的逆序輸出
********************************************************************
*/
#include
<
stdio.h
>
#include
<
assert.h
>
#include
<
time.h
>
#include
"
../sllist.h
"
#define
MAX_NUM 10
/**/
/*
===========================================================================
** Function name: GetRandList
** Parameter: void
** Precondition: void
** Description: 構造一個由隨機數組成的鏈表
** Return value: 鏈表的頭節點指針
** Author: Liu Qi, 2005/12/18
===========================================================================
*/
List GetRandList(
void
)
{
int
i;
List L
=
SLL_Create();
srand( (unsigned)time( NULL ) );
for
( i
=
0
; i
<
MAX_NUM; i
++
)
{
SLL_PushFront(rand()
%
20
, L);
}
return
L;
}
/**/
/*
===========================================================================
* Function name: ReservePrint
* Parameter: L: 鏈表頭指針
* Precondition: NULL != L
* Description: 遞歸實現鏈表的逆序輸出
* Return value: void
* Author: Liu Qi, [12/22/2005]
===========================================================================
*/
void
ReservePrint(List L)
{
assert( NULL
!=
L );
if
(NULL
!=
L
->
Next)
{
ReservePrint(L
->
Next);
}
else
{
//
遞歸出口,一般把遞歸出口寫作前面^_^
}
printf(
"
%d
"
, L
->
Element);
}
int
main(
int
argc,
char
*
argv[])
{
List L
=
GetRandList();
SLL_PrintList(L);
printf(
"
\n
"
);
ReservePrint(L
->
Next);
printf(
"
\n
"
);
SLL_DeleteList(L);
return
0
;
}
遞歸是個好東西啊,搞明白了覺得邏輯很清晰,結構也很好,就是效率不高^_^,用棧來模擬遞歸看起來就不好懂了。
發表于 2005-12-22 16:13
ngaut
閱讀(3258)
評論(7)
編輯
收藏
引用
所屬分類:
c/c++/ds
評論
#
re: 數據結構筆記:遞歸實現鏈表的逆序輸出
回復
更多評論
用棧的話這樣實現:
void ReservePrint(List L)
{
assert( NULL != L );
int count = 0;
int temp;
while (NULL != L->Next)
{
++count;
temp = L->Next;
__asm push temp;
L = L->Next;
}
while(--count>=0)
{
__asm pop temp;
printf(" %d ", temp);
}
}
小明
評論于 2005-12-22 17:07
#
re: 數據結構筆記:遞歸實現鏈表的逆序輸出
回復
更多評論
個人覺得存在先進后出的結構時用棧實現更好理解,這里用棧來實現似乎更加好理解一些^_^,另外你的代碼有點瑕疵,這里內嵌匯編不合適吧,因為不確定鏈表的長度,如果大于操作系統給ReservePrint分配的堆棧就會overflow了,不知是否正確^_^
ngaut
評論于 2005-12-22 19:14
#
re: 數據結構筆記:遞歸實現鏈表的逆序輸出
回復
更多評論
如果會overflow,你的遞歸方法一樣會overflow,因為函數調用,都是使用堆棧來傳遞參數。
小明
評論于 2005-12-22 19:57
#
re: 數據結構筆記:遞歸實現鏈表的逆序輸出
回復
更多評論
是啊,多謝老兄指點,不過你好像誤解我的意思了(其實是我自己沒有說清楚)^_^
我的意思是:另外實現一個堆棧,比如鏈棧,而不是直接用該函數自己的棧,這樣就不會overflow了
ngaut
評論于 2005-12-22 20:28
#
re: 數據結構筆記:遞歸實現鏈表的逆序輸出
回復
更多評論
嗯,默認狀態,堆棧大概可以push 250,000 個int,當然這個大小也是可以調整的。
我這樣寫,主要也是從效率上考慮,使用原始的stack,飛快哦!
小明
評論于 2005-12-22 20:49
#
re: 數據結構筆記:遞歸實現鏈表的逆序輸出
回復
更多評論
很好的程序,學習了。3k
song
評論于 2008-03-26 09:33
#
re: 數據結構筆記:遞歸實現鏈表的逆序輸出
回復
更多評論
printStack(Stack s){
Object o = s.pop();
if(o == null)
return;
printStack(s);
println(o);
}
haha
評論于 2008-07-31 12:48
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
相關文章:
ndis筆記--ReceiveHandler如何處理不完整的包
[轉]Google C++ Testing Framework Primer
[轉]Visual C++開發工具與調試技巧整理
[轉]Add color to your std::cout
[轉]Huffman編碼STL版--來自fxsjy的專欄
一個簡單的遞歸下降分析表達式的例子
編譯boost庫-用vc2005編譯boost1.34.1
如何解決"找不到MSVCR80.dll "的問題
boost asio發送0字節的數據時,接收端提示"找不到指定文件"
release版本的程序提示需要MFC42D.dll的原因
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
日韩十八禁一区二区久久
|
99久久精品国内
|
国产69精品久久久久APP下载
|
欧美亚洲国产精品久久高清
|
久久久久精品国产亚洲AV无码
|
99久久做夜夜爱天天做精品
|
精品多毛少妇人妻AV免费久久
|
日韩人妻无码精品久久久不卡
|
国产精品岛国久久久久
|
国产巨作麻豆欧美亚洲综合久久
|
欧美粉嫩小泬久久久久久久
|
国产激情久久久久影院小草
|
亚洲精品无码久久毛片
|
久久丫精品国产亚洲av
|
久久久中文字幕日本
|
粉嫩小泬无遮挡久久久久久
|
亚洲精品NV久久久久久久久久
|
97精品伊人久久久大香线蕉
|
久久电影网
|
久久国产乱子精品免费女
|
国产毛片欧美毛片久久久
|
久久av免费天堂小草播放
|
国产一区二区三区久久精品
|
久久天天躁夜夜躁狠狠躁2022
|
色偷偷888欧美精品久久久
|
中文字幕乱码人妻无码久久
|
久久久久久av无码免费看大片
|
日韩人妻无码精品久久免费一
|
无码乱码观看精品久久
|
精品久久久久国产免费
|
国产精品美女久久久久AV福利
|
国产美女久久精品香蕉69
|
人人狠狠综合久久88成人
|
久久天天躁狠狠躁夜夜avapp
|
久久精品国产一区二区
|
久久久久国产精品三级网
|
久久久久97国产精华液好用吗
|
国内精品久久久久久久久
|
久久狠狠一本精品综合网
|
久久亚洲2019中文字幕
|
亚洲国产精品嫩草影院久久
|