Swift | 泛型交換數(shù)組中兩個元素

先聲明一個可變數(shù)組

var nums = [1,2,3,4,5,6,7,8]

元素交換核心代碼

func swap<T>(_ nums:inout[T],_ a:Int,_ b:Int) {
    let count = nums.count
    if a == b || a < 0 || a > count - 1 || b < 0 || b > count - 1 {
        return
    }
    (nums[a],nums[b]) = (nums[b],nums[a])
}
swap(&nums, 1, 3)
print(nums)

注意

  1. 為了防止數(shù)組越界或者a和b的值相等,進行一些特殊邏輯處理
  2. 我們可以使用元組的方式進行交互
  3. 為了適配各種類型 我們采用泛型方式交互
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市团搞,隨后出現(xiàn)的幾起案子扬虚,更是在濱河造成了極大的恐慌谴咸,老刑警劉巖净刮,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谓晌,死亡現(xiàn)場離奇詭異具温,居然都是意外死亡蚕涤,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進店門铣猩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來钻趋,“玉大人,你說我怎么就攤上這事剂习÷唬” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵鳞绕,是天一觀的道長失仁。 經(jīng)常有香客問我,道長们何,這世上最難降的妖魔是什么萄焦? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮冤竹,結(jié)果婚禮上拂封,老公的妹妹穿的比我還像新娘。我一直安慰自己鹦蠕,他們只是感情好冒签,可當我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著钟病,像睡著了一般萧恕。 火紅的嫁衣襯著肌膚如雪刚梭。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天票唆,我揣著相機與錄音朴读,去河邊找鬼。 笑死走趋,一個胖子當著我的面吹牛衅金,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播簿煌,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼氮唯,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了啦吧?” 一聲冷哼從身側(cè)響起您觉,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎授滓,沒想到半個月后琳水,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡般堆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年在孝,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片淮摔。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡私沮,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出和橙,到底是詐尸還是另有隱情仔燕,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布魔招,位于F島的核電站晰搀,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏办斑。R本人自食惡果不足惜外恕,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望乡翅。 院中可真熱鬧鳞疲,春花似錦、人聲如沸蠕蚜。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽波势。三九已至翎朱,卻和暖如春橄维,著一層夾襖步出監(jiān)牢的瞬間尺铣,已是汗流浹背拴曲。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留凛忿,地道東北人澈灼。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像店溢,于是被迫代替她去往敵國和親叁熔。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,103評論 1 32
  • 第一階段java基礎(chǔ)復習 1.軟件開發(fā)基礎(chǔ) 1.1開發(fā)軟件的目的 提高人個計算機之間的交互方式 1.2軟件 軟件=...
    allencaicai閱讀 482評論 0 0
  • 本章將會介紹 泛型所解決的問題泛型函數(shù)類型參數(shù)命名類型參數(shù)泛型類型擴展一個泛型類型類型約束關(guān)聯(lián)類型泛型 Where...
    寒橋閱讀 639評論 0 2
  • 數(shù)組和可變性 在Swift中最常見的集合類型非數(shù)組莫屬床牧。數(shù)組是一系列相同類型的元素的有序的容器荣回,對于其中每個元素,...
    為自己丶拼個未來閱讀 9,311評論 0 6
  • 1.設(shè)計模式是什么? 你知道哪些設(shè)計模式著蛙,并簡要敘述删铃?設(shè)計模式是一種編碼經(jīng)驗,就是用比較成熟的邏輯去處理某一種類型...
    龍飝閱讀 2,153評論 0 12