iOS 算法入门

2019-09-24  本文已影响0人  Coder东
//
//  CharReverse.h
//  算法
//
//  Created by 随风流年 
//  Copyright © 随风流年. All rights reserved.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface CharReverse : NSObject
//字符串反转
void char_reverse(char *cha);
@end
NS_ASSUME_NONNULL_END

#import "CharReverse.h"
@implementation CharReverse
void char_reverse(char *cha){
    //指向第一个字符
    char * begin = cha;
    //指向最后一个字符
    char * end = cha + strlen(cha) - 1;
    while (begin < end) {
        //交换前后两个字符,同时移动指针
        char temp = *begin;
        *(begin++) = *end;
        *(end --) = temp;
    }
}
@end

第一趟:在n个数中找到最小或者最大数与第一个数交换位置
第二趟:在剩下的n-1个数中找到最小(大)数与第二个数交换位置
重复这样的操作...依次与第三个、第四个...数交换位置
第n-1趟: 最终可实现数据的升序(降序)排列。

void selectSort(int *arr, int length) {
    for (int i = 0; i < length - 1; i++) { //趟数
        for (int j = i + 1; j < length; j++) { //比较次数
            if (arr[i] > arr[j]) {
                int temp = arr[i];
                arr[i] = arr[j];
                arr[j] = temp;
            }
        }
    }
}
上一篇 下一篇

猜你喜欢

热点阅读