코드에 4 자리 숫자를 입력 할 수있는 데모 응용 프로그램을 만들고 싶습니다. 1,2,3 순서로 정렬하면 NSLog
입니다. 쉬운 알고리즘이나 그것을 할 수있는 방법이 있습니까?숫자 정렬 Objective-C
답변
// Put code in your App's ViewController
@implementation Sorting_NumbersViewController
- (void)viewDidLoad
{
[super viewDidLoad];
// CODE STARTS HERE
// This allocates and initializes the NSMutableArray
NSMutableArray *anArray = [[NSMutableArray alloc] init];
// These are where you enter your numbers
[anArray addObject:@"1"];
[anArray addObject:@"3"];
[anArray addObject:@"2"];
//This looks looks at the objects above and compares them with each-other
NSArray *sorted = [anArray sortedArrayUsingSelector:@selector(compare:)];
//This spits the result out in the console
NSLog(@"Ordered Numbers: %@", sorted);
}
@James 메서드 compare :는 배열의 NSNumbers에서 호출됩니다. NSNumber는 해당 인터페이스에 메서드를 선언합니다. Apple은 비교 방법 구현을 게시 할 수 없습니다. 참조 : - (NSComparisonResult) 비교 : (NSNumber *) otherNumber; NSNumber : https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSNumber_Class/index.html#//apple_ref/occ/instm/NSNumber/compare : –
루크 (Luke)가 쓴 것처럼, NSMutableArray
에 내장 된 훌륭한 분류 방법이 있습니다. 그러나 알고리즘을 직접 구현하면 더 많은 것을 배울 수 있습니다. Bubble Sort을 확인하십시오. 그것은이 작업에서 당신을 잘 처리 할 수있는 정렬 알고리즘의 한 유형이며 상관없이 이해하는 것이 좋습니다.
편집 : 체크 아웃 : StackOverflow link. 나는 문자 그대로 "검색 NSMutableArray
NSNumber
의"googled 이것은 첫 번째 안타 중 하나였습니다.
버블 정렬에 대해 권하고 싶습니다. [merge sort] (http://en.wikipedia.org/wiki/Merge_sort) 나 ['quick sort'] (http://en.wikipedia.org/wiki/Quicksort)보다 이해하기가 훨씬 어렵습니다. 버블 정렬은 가능한 가장 느린 방식으로 항목을 정렬하도록 권장합니다. – user1118321
@ user1118321 그게 중요한 포인트입니다. 아직도 이해할 수있는 나쁜 것은 아닙니다. 어쨌든, 나는 게임의이 시점에서 어떻게 작동하는지 배우는 것이 하나의 언어로만 작동하도록하는 것보다 더 가치 있다고 생각합니다. – James
*는 여전히 유효합니다. – James
지금까지 해보신 것은 무엇입니까? 기본 사항을 이해하기 위해 서적 자습서를 사용해 보셨습니까? – bryanmac
Objective-C를 배우고 싶다면 좋습니다. 한 가지 사실은 드문 기술로 성인을 찾고있을 때 사람들이 기꺼이 돈을 더 지불 할 수 있음을 의미합니다. :) 그러나 당신은 먼저 자신에게 노력을 기울일 필요가 있습니다. 이것은 C, Objective-C 및 관련된 개념에 대해 찾을 수있는 모든 책을 읽는 것을 의미합니다. (아, 고등학교와 대학/유니, 특히 대수학에서 가능한 한 많은 수학 수업을 듣고, 현실 세계에서 대수학을 사용하겠습니다.) –
NSMutableArrays와 다른 Obective에 대해 많이 읽었습니다. -C Documentaions에 게시하고 답변을 많이 검색했습니다. –