日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

链表——PowerShell版

發布時間:2025/5/22 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 链表——PowerShell版 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

鏈表是由一系列節點串連起來組成的,每一個節點包括數值部分指針部分,上一節點的指針部分指向下一節點的數值部分所在的位置。

在C語言中我們有兩種方式來定義鏈表——

1、定義結構體:來表示鏈表中的節點,節點中包含數值部分和指針部分。將一個節點的指針部分指向另一個節點的數值部分,這兩個結構體之間就形成了一個鏈表。

2、不定義結構體:用一個數組來表示鏈表的數值部分,用另外一個數組來表示每個數值所對應的指針部分。

在PowerShell中定義一個鏈表更加簡潔:

$linkedList = New-Object System.Collections.Generic.LinkedList[HashTable]

其中HashTable相當于我們在C語言中定義的結構體中的數值部分,而對于鏈表中數值進行的操作都被封裝成了一系列鏈表對象方法

現在我們舉一個現實生活中的例子——

考試結束,老師排好了一個成績單(按成績從高到低),現在來了個插班生,我們要把這個插班生的考試成績插入到本班的成績單中。

首先我們寫一個方法,將排好的成績單錄入到一個鏈表中:

#Initial the students' scores. function Initial($linkedList){$count = Read-Host "Type in the students' number"For($i=1; $i -le [int]$count; $i++){$tip = "This is the NO."+$i+" student"Write-Host $tip -ForegroundColor green$name = Read-Host "Type in the name"$score = Read-Host "Typen in the score"$linkedList.AddLast(@{Name=$name;Score=[int]$score}) } }

然后我們寫一個方法,將插班生的成績插入到已排好序的成績單鏈表中:

#Add student into the list by score. function InsertStudent($linkedList) {$score = Read-Host "Type in the score of the student"$score = [int]$score$currentNode = $linkedList.First$flag = $truewhile(($currentNode -ne $null) -and ($flag -eq $true)){if($currentNode.Value.Score -ge $score){$currentNode = $currentNode.Next}else{$name = Read-Host "Type in the name of the student"$linkedList.AddBefore($currentNode, @{Name=$name;Score=$score})$flag = $false}} }

最后我們來運行這兩個方法,對成績單鏈表進行初始化和插入操作,并顯示插入數據后的鏈表:

Write-Host "---Now begin initial---" -ForegroundColor green Initial $linkedList Write-Host "---Now begin insert---" -ForegroundColor green InsertStudent $linkedList Write-Host "---Result---" -ForegroundColor green $linkedList

運行結果如下:

我們可以看到,我們不用再去像在C語言中一樣對指針的指向進行操作,取而代之的是一系列已經封裝好了的屬于鏈表對象本身的方法屬性。比如:

鏈表對象的第一個節點——

$linkedList.First

某一結點的下一節點——

$node.Next

在鏈表的某一節點前插入一個節點——

$linkedList.AddBefore($currentNode, @{Name=$name;Score=$score})

我們可以看到,我們只需要關注節點插入的位置(目標節點)節點對象本身的數值部分,剩下的對指針部分的操作已經封裝到方法里了。我們只需要選擇指定的方法就可以完成對目標節點前后的插入等操作。PowerShell和C#都是基于.NET的,所以在方法和屬性上基本都是相同的,在這里附上一篇官方的關于鏈表的指南。

總結

以上是生活随笔為你收集整理的链表——PowerShell版的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 少妇高潮一区二区三区99欧美 | 天堂精品一区 | 欧美激情精品久久久久久 | 成人自拍视频网 | 欧美日本韩国在线 | 91爱爱·com| jizz高潮| 久久久精品美女 | 欧美少妇b| 国产一级片精品 | 免费视频福利 | 99re6在线精品视频免费播放 | 国产精品熟女视频 | 日韩成人av电影 | 91精品国产色综合久久不卡电影 | 伊人精品在线观看 | 亚洲精品女人久久久 | 四虎精品成人免费网站 | 国产又粗又长又硬免费视频 | 粉嫩av一区二区三区免费观看 | av综合色 | 国产又色又爽 | 中文字字幕在线中文乱码 | 黄色精品免费 | 欧美日韩性视频 | 亚洲精品成人在线 | 91精品国产入口在线 | 久久青 | 日本美女影院 | 精品999久久久一级毛片 | 99精品视频网站 | 5d肉蒲团之性战奶水 | 欧美日韩a | xxxx性视频 | 亚洲国产精品久久久久久久 | 久草最新 | 国产在线精品视频 | 蜜臀久久99精品久久一区二区 | 亚洲爽妇网 | 懂色av一区 | 超碰97国产在线 | 香蕉av777xxx色综合一区 | 精品国产aⅴ | 美女扣逼喷水视频 | 国产啊啊啊啊 | 午夜资源| 毛片a区 | 日韩精品久久一区 | 黄色成人在线观看 | free女性xx性老大太 | av大帝在线| 91成人一区 | 可以在线观看的黄色 | 成年人网站在线 | 亚洲一区在线免费观看 | 人人草在线观看 | 少妇性l交大片免费观看 | 亚洲高清一区二区三区 | 黄色录像二级片 | av最新在线| 女人裸体又黄 | 国产精品一区av | 大伊人网 | 在线观看中文字幕一区二区 | 日韩av一区二区在线播放 | 天天视频天天爽 | 亚洲在线看片 | 日本中文字幕成人 | 蜜桃av影视| 日韩精品一卡二卡 | 亚洲精品成av人片天堂无码 | 黄色片地址 | 精品无码人妻少妇久久久久久 | 精品无码av一区二区三区四区 | 亚洲AV无码精品色毛片浪潮 | 黄色三级大片 | 激情小说中文字幕 | 亚洲精品一区二区三区新线路 | 亚洲一区二区三区中文字幕 | 流白浆视频| 四虎三级 | 黄色片免费网站 | 国产美女网 | 国产高清久久 | 伊人丁香 | 中文字幕日本一区二区 | 波多野结衣在线一区二区 | 亚洲国产欧美在线 | 高清成人 | 毛片导航| 日本人妻不卡一区二区三区中文字幕 | 黄色污小说 | 成人免费毛片色戒 | 中国在线观看片免费 | 美女被草 | 2024国产精品 | 日韩黄色片免费看 | 放荡的美妇在线播放 | 秋霞视频在线 |