全系列导航:Swift5.0 系列博客索引
/*
函数: 完成某个特定任务的代码块, 给代码起一个合适的名称称之为函数名称. 以后需要执行代码块只需要利用函数名称调用即可, 好比每个人都有一个名字, 叫名字就能找到对应的人
格式:
func 函数名称(参数名:参数类型, 参数名:参数类型...) -> 函数返回值 {函数实现部分}
OC:
- (void)say
{
NSLog(@"hello");
}
- (void)sayWithName:(NSString *)name
{
NSLog(@"hello %@", name);
}
- (void)sayWithName:(NSString *)name age:(NSInteger)age
{
NSLog(@"hello %@ , I'm %tu years old", name, age);
}
- (NSString *)info
{
return @"name = gezi, age = 30";
}
- (NSString *)infoWithName:(NSString *)name age:(NSInteger)age
{
return [NSString stringWithFormat:@"name = %@, age = %tu", name, age];
}
Person *p = [[Person alloc] init];
[p say];
[p sayWithName:@"gezi"];
[p sayWithName:@"gezi" age:30];
NSLog(@"%@", [p info]);
NSLog(@"%@", [p infoWithName:@"gezi" age:30]);
*/
// 无参无返回值
func say() -> Void
{
print("hello")
}
func say1() // 如果没有返回值可以不写
{
print("hello")
}
say1()
// 有参无返回值
func sayWithName(name:String)
{
print("hello \(name)")
}
sayWithName(name: "gezi")
func sayWithName1(name:String, age:Int)
{
print("hello \(name) , I'm \(age) years old ")
}
sayWithName1(name: "gezi", age: 30)
// 无参有返回值
func info() -> String
{
return "name = gezi, age = 30"
}
print(info())
// 有参有返回值
func info(name:String, age:Int) -> String
{
return "name = \(name), age = \(age)"
}
print(info(name: "gezi", age:30))
/*
嵌套函数
*/
func showArray(array:[Int])
{
for number in array
{
print("\(number), ")
}
}
/*
func swap(inout a:Int, inout b:Int)
{
let temp = a
a = b
b = temp
}
*/
//冒泡排序
//参数值可变 给参数添加 inout 前缀
//在函数中 传入的参数前要加 & (系统会自动加)
//第一种,嵌套语法
func bubbleSort(array:inout [Int]) -> [Int]
{
func swap( a:inout Int, b:inout Int)
{
let temp = a
a = b
b = temp
}
for i in 0..<array.count {
for j in 0..<array.count-(i+1) {
if array[j] > array[j + 1]
{
var ee = array[j]
var ww = array[j+1]
swap(a: &ee, b: &ww)
array[j] = ee
array[j+1] = ww
}
}
}
return array
}
var myArray:Array<Int> = [31, 13, 52, 84, 5]
let brr = bubbleSort(array: &myArray)
print("brr=",brr)
//第二种
func mySort(array:inout [Int]) -> [Int]
{
for i in 0..<array.count {
for j in 0..<array.count-(i+1) {
if array[j] > array[j + 1]
{
let temp = array[j]
array[j] = array[j + 1]
array[j + 1] = temp
}
}
}
return array
}
var ppArray:Array<Int> = [44, 13, 22, 66, 5]
let qqq = mySort(array: &ppArray)
print("qqq=",qqq)