设为首页 加入收藏

TOP

函数定义(一)
2017-10-10 12:13:55 】 浏览:3653
Tags:函数 定义

/*

函数: 完成某个特定任务的代码块, 给代码起一个合适的名称, 称为函数名称; 以后需要执行代码块只需要利用函数名称调用即可.

格式:

func 函数名称(参数名:参数类型, 参数名:参数类型,...) -> 函数返回值 {函数实现部分}

 

OC:

- (void)sayHello

{

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 = lnj, age = 30";

}

- (NSString *)infoWithName:(NSString *)name age:(NSInteger)age

{

return [NSString stringWithFormat:@"name = %@, age = %tu", name, age];

}

 

Person *p = [[Person alloc] init];

[p sayHello];

[p sayWithName:@"lnj"];

[p sayWithName:@"lnj" age:30];

NSLog(@"%@", [p info]);

NSLog(@"%@", [p infoWithName:@"xiaohange" age:23]);

*/

 

// 无参无返回值

func say()->Void

{

    print("Hello")

}

 

func say1() // 如果没有返回值可以不写

{

    print("Hi")

}

say()

say1()

 

// 有参无返回值

func sayWithName(name:String)

{

    print("hello \(name)")

}

sayWithName(name: "xiaohange")

 

func sayWitchName1(name:String, age:Int) -> Void {

    print("hello \(name), I'm \(age) years old")

}

sayWitchName1(name: "baobao", age: 20)

 

// 无参有返回值

func info() -> String

{

    return "name = hjq, age = 28"

}

print(info())

 

// 有参有返回值

func info(name:String, age:Int) -> String

{

    return "name = \(name), age = \(age)"

}

print(info(name: "HaRi", age: 26))

 

/********** 嵌套函数 **********/

func showArray(array:[Int])

{

    for number in array {

        print("\(number)")

    }

}

showArray(array: [1,2,3,4,5])

 

/* 苹果自带api

func swap( a:inout Int, b:inout Int) // 2.0 是 func swaping(inout a:Int, inout b:Int) 废弃

{

    let temp = a

    a = b

    b = temp

}

*/

 

/*********** 冒泡排序,插入排序,选择排序,快速排序 ***********/

// 冒泡排序

func bubbleSort(array:inout [Int])

{

    func swap( a:inout Int, b:inout Int)

    {

        let temp = a

        a = b

        b = temp

    }

    for _ in 0..<array.count {  // 用不到的参数可以用 _ 代替

        for j in 0..<(array.count-1) {

            if array[j] > array[j + 1] {

//                let temp = array[j]

//                array[j] = array[j + 1]

//                array[j + 1] = temp

                swap(a: &array[j], b: &array[j + 1])

                

            }

        }

    }

    

}

var arr:Array<Int> = [10, 23, 22, 40, 6]

bubbleSort(array: &arr)

showArray(array: arr)

 

// 插入排序

var arr1:Array<Int> = [10, 34, 23, 9, 12]

for i in (0..<arr1.count) {

    

    var key = arr1[i]

    

    var j = i - 1

    

  &nbs

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇函数类型 下一篇break-continue

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目