Skip to content

Instantly share code, notes, and snippets.

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.
#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;

This comment has been minimized.

Copy link
Owner Author

jkereako commented Jan 21, 2015


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


Compile with this command

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

And execute with this command

$ .\symmetric-difference


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.