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 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
You can’t perform that action at this time.