2006年11月8日

[資結]Singo Linked List反轉

據說明天要考是吧...這種深夜會來看我網誌的,就是有看有保佑囉=v=

我的作法缺點就是如果有n個元素串在一起,那就要多花n的記憶體、然後需要3n的時間...

不過,既然想出來了,就努力用吧= =+


結構是這樣的:

head

■□→■□→■□→■□→■□→■□→....■□→■□┐


以下是噁心的程式碼

int count=0; //計錄串中有多少元素
Node tmp=head;

while( tmp.next != null )
{ count++; tmp=tmp.next; }

Node A[] = new Node[ count ]; //新增一陣列
tmp=head;
while( tmp.next != null )
 { A[ count++ ] = tmp; tmp = tmp.next; } //把元素照順序存進陣列裡

for( int i = A.length-1; i < 1; i-- )
 A[ i ].next = A[ i-1 ];
A[ 0 ].next = null;

結束了=v=


Posted by kevingao814 at 樂多Roodo! │23:34 │回應(0)引用(0)├學知識
樂多分類:日記/一般 工具:編輯本文
Ads by Roodo! 

引用URL

http://cgi.blog.roodo.com/trackback/2443129