真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

手寫(xiě)代碼翻轉(zhuǎn)鏈表java,單鏈表反轉(zhuǎn)代碼

java 用代碼怎么反轉(zhuǎn)? 比如 a b c 變?yōu)?c b a

String array[] = { a, b, c };

騰沖網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)從2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

String a[] = new String[3];

for( int i = array.length-1; i = 0 ; i-- ) {

a[array.length-1-i] = array[i];

}

或者你可以用StringBuffer里面的reverse, "new StringBuilder(aaaaa).reverse().toString()"

用java來(lái)編寫(xiě)一個(gè)單鏈表類(lèi)的成員函數(shù),實(shí)現(xiàn)對(duì)頭結(jié)點(diǎn)的單鏈表就地逆置的操作

逆置有兩種方法,第一是把所有節(jié)點(diǎn)反過(guò)來(lái)。還有一種就是改變節(jié)點(diǎn)中的值。

第一種情況,其實(shí)可以考慮用頭插法,來(lái)實(shí)現(xiàn)逆置。

下面的算法是基于頭插法的思想,逆置鏈表的,僅供參考。

LinkList anti_linklist(LinkList demo)

{

LInkList *p,*q;//work pointer

LinkList head;

head=new LinkList();

head-next=null;//init head pointer

p=demo-head-next;//make p points to the first node

if(p==null)

return null;//the linklist is null

while(p!=null)

{

q=p;

q-next=head-next;

head-next=q;

p=p-next;

}

}

如何鏈表反轉(zhuǎn)

鏈表反轉(zhuǎn)

單向鏈表的反轉(zhuǎn)是一個(gè)經(jīng)常被問(wèn)到的一個(gè)面試題,也是一個(gè)非?;A(chǔ)的問(wèn)題。比如一個(gè)鏈表是這樣的: 1-2-3-4-5 通過(guò)反轉(zhuǎn)后成為5-4-3-2-1。最容易想到的方法遍歷一遍鏈表,利用一個(gè)輔助指針,存儲(chǔ)遍歷過(guò)程中當(dāng)前指針指向的下一個(gè)元素,然后將當(dāng)前節(jié)點(diǎn)元素的指針?lè)崔D(zhuǎn)后,利用已經(jīng)存儲(chǔ)的指針往后面繼續(xù)遍歷。源代碼如下:

struct linka {

int data;

linka* next;

};

void reverse(linka* head)

{

if(head ==NULL)

return;

linka*pre, *cur, *ne;

pre=head;

cur=head-next;

while(cur)

{

ne = cur-next;

cur-next = pre;

pre = cur;

cur = ne;

}

head-next = NULL;

head = pre;

}

還有一種利用遞歸的方法。這種方法的基本思想是在反轉(zhuǎn)當(dāng)前節(jié)點(diǎn)之前先調(diào)用遞歸函數(shù)反轉(zhuǎn)后續(xù)節(jié)點(diǎn)。源代碼如下。不過(guò)這個(gè)方法有一個(gè)缺點(diǎn),就是在反轉(zhuǎn)后的最后一個(gè)結(jié)點(diǎn)會(huì)形成一個(gè)環(huán),所以必須將函數(shù)的返回的節(jié)點(diǎn)的next域置為NULL。因?yàn)橐淖僪ead指針,所以我用了引用。算法的源代碼如下:

linka* reverse(linka* p,linka* head)

{

if(p == NULL || p-next == NULL)

{

head=p;

return p;

}

else

{

linka* tmp = reverse(p-next,head);

tmp-next = p;

return p;

}

}

Java里面容器有鏈表了,為什么還要手寫(xiě)代碼實(shí)現(xiàn)一個(gè)鏈表呢

java中的List接口 中有兩個(gè)實(shí)現(xiàn)類(lèi):ArrayList和LinkedList。前者是使用數(shù)組實(shí)現(xiàn),用索引來(lái)取數(shù)據(jù)是它的優(yōu)勢(shì)。后者是用雙向鏈表實(shí)現(xiàn),在插入和刪除操作上占優(yōu)勢(shì)。具體實(shí)現(xiàn)已經(jīng)封裝好了,不用操心過(guò)多,具體動(dòng)作都有具體的方法。


網(wǎng)頁(yè)標(biāo)題:手寫(xiě)代碼翻轉(zhuǎn)鏈表java,單鏈表反轉(zhuǎn)代碼
文章鏈接:http://weahome.cn/article/hdpsoe.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部