單鏈表 判斷單鏈表L是否是遞增的(雙指標法)

2021-10-12 04:54:27 字數 518 閱讀 1637

單鏈表的儲存結構:

typedef struct linklist

分析:

定義乙個指標p夠不夠用?

你要判斷是否遞增,說明要比較前後兩節點的資料域。

如果前者一直大於後者,那麼可判斷該單鏈表遞增。

所以這裡要定義兩個指標,pre ,p.

思路:

1.定義兩個前後指標pre ,p,並pre開始指向頭結點

2.通過while判斷,條件為p != null

如果pre->data > p->data ,說明為正序,則繼續比較下乙個節點

否則 返回0;

c**實現:

int

iscrease

(linklist * l)

else

return0;

}return1;

}

判斷帶表頭的單鏈表是否有序遞增

設計乙個演算法判定帶表頭結點的單鏈表是否有序遞增,並討論演算法的時間複雜度。判斷是否有序遞增status order headerlist h,int n else flag 1 p q q q link if flag 1 else printf yes return ok include inc...

單鏈表判斷是否相交

判斷單鏈表是否有環路可以參考 單鏈表判斷環路及環路的入口 typedef int datatype 節點中資料型別 typedef struct listnode 節點資料結構 listnode typedef struct checknoode checknoode 判斷是否相交 bool che...

判斷單鏈表是否相交

二個單鏈表相交只能是y,不能是x,因為單鏈表每個節點只有乙個指標 問題描述 乙個比較經典的問題,判斷兩個鍊錶是否相交,如果相交找出他們的交點。思路 1 碰到這個問題,第一印象是採用hash來判斷,將兩個鍊錶的節點進行hash,然後判斷出節點,這種想法當然是可以的。2 當然採用暴力的方法也是可以的,遍...