Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Finds the symmetric difference between 2 sets.
//
// symmetric-difference.m
// RosettaCodeData
//
// Created by Ingy döt Net on 4/2/14.
// https://github.com/acmeism/RosettaCodeData/blob/master/Task/Symmetric-difference/Objective-C/symmetric-difference.m
//
#import <Foundation/Foundation.h>
int main(int argc, const char *argv[]) {
@autoreleasepool {
NSSet *setA = [NSSet setWithObjects:@"John", @"Serena", @"Bob", @"Mary", @"Serena", nil];
NSSet *setB = [NSSet setWithObjects:@"Jim", @"Mary", @"John", @"Jim", @"Bob", nil];
// Present our initial data set
NSLog(@"In set A: %@", setA);
NSLog(@"In set B: %@", setB);
// Get our individual differences.
NSMutableSet* notInSetA = [NSMutableSet setWithSet:setB];
[notInSetA minusSet:setA];
NSMutableSet* notInSetB = [NSMutableSet setWithSet:setA];
[notInSetB minusSet:setB];
// The symmetric difference is the concatenation of the two individual differences
NSMutableSet* symmetricDifference = [NSMutableSet setWithSet:notInSetA];
[symmetricDifference unionSet:notInSetB];
// Present our results
NSLog(@"Not in set A: %@", notInSetA);
NSLog(@"Not in set B: %@", notInSetB);
NSLog(@"Symmetric Difference: %@", symmetricDifference);
}
return 0;
}
@jkereako

This comment has been minimized.

Copy link
Owner Author

@jkereako jkereako commented Jan 21, 2015

Description

This Gist shows a way of finding the symmetric difference between 2 sets.

Usage

Compile with this command

clang -fobjc-arc symmetric-difference.m -o symmetric-difference

And execute with this command

$ .\symmetric-difference

Credit

I manually forked this from ingydotnet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment