2.1.1、數(shù)據(jù)類型練習(xí)

//: Playground - noun: a place where people can play

importUIKit

//1、var string="my name is Tina"將string按字母順序排序

varstring="my name is Tina"

//let stringArray = string.characters.sorted {$0 < $1}

//print(stringArray)

//var stringRange = ""

//for character in stringArray

//{

//stringRange.append(character)

//}

//print(stringRange)

//print(string)

vararrayStrs:Array = []

for(index,char)instring.characters.enumerated() {

arrayStrs.append(String(char))

}

print(arrayStrs)

letcmp:(_a:String,_b:String) ->Int= {

(a,b)in

letx = a.compare(b)

ifx == .orderedAscending{//升序

return-1

}elseifx == .orderedSame{//相同

return0

}else{

return1

}

}

cmp("b","a")

foriin1..

forjin0..

ifcmp(arrayStrs[j],arrayStrs[j+1]) ==1{

lettemp =arrayStrs[j]

arrayStrs[j] =arrayStrs[j+1]

arrayStrs[j+1] = temp

}

}

}

varnewResult:String=""

foriinarrayStrs{

newResult+=i

}

print(arrayStrs,newResult)

//2、var bigArray=[4,6,1,3,2,5]進行排序,用三種方法

varresultArray = [String]()

varbigArray=[4,6,1,3,2,5]

//bigArray.sort()

foriin1..

{

forjin0..< (bigArray.count- i)

{

ifbigArray[j] >bigArray[j +1]

{

swap(&bigArray[j], &bigArray[j +1])

//let temp = bigArray[j]

//bigArray[j] = bigArray[j + 1]

//bigArray[j + 1] = temp

}

}

}

print(bigArray)

//3、寫一個九九乘法表

/*

1 * 1 = 1

1 * 2 = 22 * 2 = 4

1 * 3 = 32 * 3 = 63 * 3 = 9

1 * 4 = 42 * 4 = 83 * 4 = 124 * 4 = 16

1 * 5 = 52 * 5 = 103 * 5 = 154 * 5 = 205 * 5 = 25

1 * 6 = 62 * 6 = 123 * 6 = 184 * 6 = 245 * 6 = 306 * 6 = 36

1 * 7 = 72 * 7 = 143 * 7 = 214 * 7 = 285 * 7 = 356 * 7 = 427 * 7 = 49

1 * 8 = 82 * 8 = 163 * 8 = 244 * 8 = 325 * 8 = 406 * 8 = 487 * 8 = 568 * 8 = 64

1 * 9 = 92 * 9 = 183 * 9 = 274 * 9 = 365 * 9 = 456 * 9 = 547 * 9 = 638 * 9 = 729 * 9 = 81

*/

foriin1...9{

forjin1...9{//j代表列,i代表行

//print("\(i)*\(j)=\(i*j) ",terminator:"")

ifi>=j {

print("\(j)*\(i)=\(i*j) ",terminator:"")

}

ifj ==9{

print("\n")

}

}

}

//var num = 1

////result為結(jié)果

//var result = ""

////外循環(huán)循環(huán)9次row為行數(shù)

//for row in 1...9{

////tmp臨時存放結(jié)果,外循環(huán)執(zhí)行一次重置一次tmp

//var tmp = ""

////內(nèi)循環(huán)循環(huán)num次

//for row in 1..

//tmp = tmp + "\(row)*\(num)=\(row*num)\t"

//

//}

////拼接結(jié)果

//result =tmp + "\(row)*\(num)=\(row*num)"

//print(result)

////外循環(huán)執(zhí)行一次需要出現(xiàn)結(jié)果的個數(shù)+1

//num += 1

//}

//4、編寫一個函數(shù)可以計算其參數(shù)的平均值

funcaverage(a:Double...) ->Any{

varsum:Double=0

foraina{

sum += a

}

returnsum /Double(a.count)

}

average(a:1,2,3,4,5,6)

//5、定義一個數(shù)組,寫一個函數(shù),傳任意數(shù)組中的兩個元素,可以實現(xiàn)交換數(shù)組中的兩個元素

vararray = [5,4,3,2,1,0]

swap(&array[0], &array[4])

funcexchangeData(array:Array, a:Int, b:Int) ->Array{

vararray = array

letdata = array[a]

array[a] = array[b]

array[b] = data

returnarray

}

exchangeData(array:array, a:4, b:0)

varoldArray = [5,4,3,2,1,0]

funcjiaohuan (array:Array, a:Int, b:Int) -> (Array){

varneArray = array

swap(&neArray[a],&neArray[b])

returnneArray

}

varanswer:Array=jiaohuan(array:oldArray, a:0, b:5)

funcswapData(_nums:inout[Int],_p:Int,_q:Int) {

lettemp = nums[p]

nums[p] = nums[q]

nums[q] = temp

}

swapData(&oldArray,5,0)

funcswap2(_nums:inout[T],_p:Int,_q:Int) {

(nums[p], nums[q]) = (nums[q], nums[p])

}

swap2(&oldArray,1,3)

//6、將數(shù)組[“A”,”B”,”C”]轉(zhuǎn)換為字符串A:B:C

lettimu = ["A","B","C"]

//let zhuanhuan = timu.joined(separator: ":")

vars =""

foriintimu{

ifi !="C"{

s+=String("\(i):")

}else{

s+=String("\(i)")

}

}

print(s)

//6、將課堂上講的朋友圈的三個數(shù)組(用了字典、元組、數(shù)組),用所學(xué)到的知識,單獨獲取到“小程序”這個字符串值

//元組

letdataArray1 = [[(image:"0",name:"朋友圈")],[(image:"1",name:"掃一掃"),(image:"2",name:"搖一搖")],[(image:"3",name:"附近的人"),(image:"4",name:"漂流瓶")],[(image:"5",name:"購物"),(image:"6",name:"游戲")],[(image:"7",name:"小程序")]]

letoneSection1 =dataArray1[4]

letoneRow1 =oneSection1[0]

letstring1 =oneRow1.name

print(string1)

//數(shù)組

letdataArray2 = [[["0","朋友圈"]],[["1","掃一掃"],["2","搖一搖"]],[["3","附近的人"],["4","漂流瓶"]],[["5","購物"],["6","游戲"]],[["7","小程序"]]]

letoneSection2 =dataArray2[4]

letoneRow2 =oneSection2[0]

letstring2 =oneRow2[1]

print(string2)

//字典

letdataArray3 = [[["image":"0","name":"朋友圈"]],[["image":"1","name":"掃一掃"],["image":"2","name":"搖一搖"]],[["image":"3","name":"附近的人"],["image":"4","name":"漂流瓶"]],[["image":"5","name":"購物"],["image":"6","name":"游戲"]],[["image":"7","name":"小程序"]]]

letoneSection3 =dataArray3[4]

letoneRow3 =oneSection3[0]

letstring3 =oneRow3["name"]

print(string3??"name值不存在")

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗。 張土汪:刷leetcod...
    土汪閱讀 12,929評論 0 33
  • 01-常量與變量 學(xué)習(xí)swift第一步打印Hello World print("Hello World") swi...
    iOS_恒仔閱讀 5,380評論 2 19
  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 7,377評論 0 17
  • 她沒有芭蕾舞女主的翩翩如仙,沒有國標女子的高貴優(yōu)雅,也沒有現(xiàn)代舞者的自由不羈。她將自己束在斑斕的長裙里,時而自由,...
    并不想起昵稱閱讀 317評論 1 0
  • 入冬后,吃大白菜的次數(shù)多了起來。 今天早上沒有把大白菜梆煮熟就盛了吃,發(fā)現(xiàn)白菜梆脆生生的,吃到嘴里青草的氣味,然后...
    遇見番茄大人閱讀 367評論 0 2

友情鏈接更多精彩內(nèi)容