博客
关于我
Objective-C实现图的邻接矩阵(附完整源码)
阅读量:794 次
发布时间:2023-02-20

本文共 2377 字,大约阅读时间需要 7 分钟。

Objective-C????????

?????????????????????????????????????????Objective-C?????????????????????????????????????????????????????Objective-C????????????????????????????????????

??????????????????????Objective-C????????NSMutableArray???????????????????????????????????????????????????????????????????

????????????????

#import 
@interface Graph : NSObject@property (nonatomic, strong) NSMutableArray *adjacencyMatrix;@end

?????????Graph????????adjacencyMatrix??????NSMutableArray????????????????????????

?????????????????????????????????????????????????????????Objective-C??????????????????

-(id)initWithNodeCount:(int)nodeCount {    self = [super init];    self.adjacencyMatrix = [NSMutableArray new];    for (int i = 0; i < nodeCount; i++) {        [self.adjacencyMatrix addObject:[NSMutableArray new]];        // ????????????false??????    }    return self;}

??????????????nodeCount x nodeCount???????????????false???????

?????????????????Objective-C???????????????????

-(void)addEdgeBetweenNode:(int)node1 andNode:(int)node2 {    if (node1 >= 0 && node1 < [self.adjacencyMatrix count] &&         node2 >= 0 && node2 < [self.adjacencyMatrix count]) {        [self.adjacencyMatrix[node1] setObject: [NSNumber numberWithBool:true]];        [self.adjacencyMatrix[node2] setObject: [NSNumber numberWithBool:true]];    }}

????????????????????????????????true???????????????0???

?????????????????????????false?

-(void)removeEdgeBetweenNode:(int)node1 andNode:(int)node2 {    if (node1 >= 0 && node1 < [self.adjacencyMatrix count] &&         node2 >= 0 && node2 < [self.adjacencyMatrix count]) {        [self.adjacencyMatrix[node1] setObject: [NSNumber numberWithBool:false]];        [self.adjacencyMatrix[node2] setObject: [NSNumber numberWithBool:false]];    }}

?????????????????????????Objective-C???????????????????????????

-(void)printAdjacencyMatrix {    for (int i = 0; i < [self.adjacencyMatrix count]; i++) {        for (int j = 0; j < [self.adjacencyMatrix count]; j++) {            NSNumber *value = [self.adjacencyMatrix[i] objectAtIndex:j];            if ([value boolValue]) {                NSLog(@"??%u???%u??????", i, j);            }        }    }}

???????????????Objective-C??????????????????????????????????????????????????????????????????????????????

????????????????????????????????????????????????????????????????Objective-C????????????????????????????????

转载地址:http://mpifk.baihongyu.com/

你可能感兴趣的文章
Objective-C实现natural sort自然排序算法(附完整源码)
查看>>
Objective-C实现nested brackets嵌套括号算法(附完整源码)
查看>>
Objective-C实现nevilles method多项式插值算法(附完整源码)
查看>>
Objective-C实现newtons second law of motion牛顿第二运动定律算法(附完整源码)
查看>>
Objective-C实现newton_raphson牛顿拉夫森算法(附完整源码)
查看>>
Objective-C实现NLP中文分词(附完整源码)
查看>>
Objective-C实现NLP中文分词(附完整源码)
查看>>
Objective-C实现not gate非门算法(附完整源码)
查看>>
Objective-C实现number of digits解字符数算法(附完整源码)
查看>>
Objective-C实现NumberOfIslands岛屿的个数算法(附完整源码)
查看>>
Objective-C实现numerical integration数值积分算法(附完整源码)
查看>>
Objective-C实现n皇后问题算法(附完整源码)
查看>>
Objective-C实现O(E + V) 中找到 0-1-graph 中的最短路径算法(附完整源码)
查看>>
Objective-C实现OCR文字识别(附完整源码)
查看>>
Objective-C实现odd even sort奇偶排序算法(附完整源码)
查看>>
Objective-C实现ohms law欧姆定律算法(附完整源码)
查看>>
Objective-C实现P-Series algorithm算法(附完整源码)
查看>>
Objective-C实现page rank算法(附完整源码)
查看>>
Objective-C实现PageRank算法(附完整源码)
查看>>
Objective-C实现pancake sort煎饼排序算法(附完整源码)
查看>>