国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

找出單鏈表的倒數第4個元素

2019-11-06 06:38:24
字體:
來源:轉載
供稿:網友

這道題目有兩種算法,但無論哪種算法,都要考慮單鏈表少于4個元素的情況: 第1種算法,建立兩個指針,第一個先走4步,然后第2個指針也開始走,兩個指針步伐(前進速度)一致。

static Link GetLast4thOne(Link head){Link first = head;Link second = head;for (int i = 0; i < 4; i++){if (first.Next == null)throw new Exception(“Less than 4 elements”);first = first.Next;}while (first != null){first = first.Next;second = second.Next;}return second;}

第2種算法,做一個數組arr[4],讓我們遍歷單鏈表,把第0個、第4個、第8個……第4N個扔到arr[0],把第1個、第5個、第9個……第4N+1個扔到arr[1],把第2個、第6個、第10個……第4N+2個扔到arr[2],把第3個、第7個、第11個……第4N+3個扔到arr[3],這樣隨著單鏈表的遍歷結束,arr中存儲的就是單鏈表的最后4個元素,找到最后一個元素對應的arr[i],讓k=(i+1)%4,則arr[k]就是倒數第4個元素。

static Link GetLast4thOneByArray(Link head){Link curr = head;int i = 0;Link[] arr = new Link[4];while (curr.Next != null){arr[i] = curr.Next;curr = curr.Next;i = (i + 1) % 4;}if (arr[i] == null)throw new Exception(“Less than 4 elements”);return arr[i];}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 綦江县| 炉霍县| 汾西县| 韶关市| 漳州市| 内丘县| 铁岭县| 广水市| 沛县| 双城市| 宁德市| 新丰县| 利川市| 临夏市| 澳门| 双鸭山市| 乌拉特前旗| 桃源县| 达尔| 宜川县| 杭锦后旗| 西峡县| 迁安市| 南江县| 儋州市| 桓台县| 江门市| 朝阳市| 洪泽县| 大兴区| 深水埗区| 津市市| 广州市| 尤溪县| 新乐市| 大冶市| 沙田区| 万源市| 安吉县| 大埔区| 金堂县|