Skip to content

Instantly share code, notes, and snippets.

View kaandedeoglu's full-sized avatar
🪲

Kaan Dedeoglu kaandedeoglu

🪲
View GitHub Profile
extension Array {
var decompose: (head: Element, tail: [Element])? {
return (count > 0) ? (self[0],tail) : nil
}
var tail: [Element] {
return Array(self[1..<count])
}
func splitAt(n: Int) -> ([Element], [Element]) {
extension String {
var isHomogeneous: Bool {
return Set(characters).count < 2
}
}
-(NSString *) transliterate:(NSString *)string {
NSMutableString *str = [string mutableCopy];
CFMutableStringRef nameRef = (__bridge CFMutableStringRef)str;
CFStringTransform(nameRef, NULL, CFSTR("Any-Latin; Latin-ASCII"), false);
CFStringTransform(nameRef, NULL, kCFStringTransformStripDiacritics, false);
return [str copy];
}
func qckSort<T: Comparable>(v: T[]) -> T[] {
switch v {
case []:
return []
default:
let head = v[0]
var tail = v.copy()
tail.removeAtIndex(0)
return qckSort(tail.filter({$0 <= head})) + [head] + qckSort(tail.filter({$0 > head}))
}