iOS交换数组中两个元素的位置|数组两个元素互换位置

发布时间:2024年01月19日

1.数组一定是可变数组

2.把交换的两个元素的index值要知道

3.把两个元素的值赋值给常量(不能用改变后的数组里的值)

题目:交换数组array中 index1?和index2?对应的元素?的位置

NSMutableArray * array = [[NSMutableArray alloc]initWithObjects:@"A",@"B",@"C",@"D", nil];

这里已知两个元素的index 为 index1和index2

??id string1 = array[index1];

??id string2 = array[index2];

string1的值为B,sting2的值为 C

替换元素

交换第一步:将string2替换到index1的位置,此步得到的结果为[A,C,C,D];

[array replaceObjectAtIndex:index1 withObject:string2];

交换第二部:将string1替换到index2的位置,此步得到的结果为[A,C,B,D];

[array replaceObjectAtIndex:index2 withObject:string1];

这样就完成了index1 和index2 的元素互换位置

PS:这里需要注意,一定要先拿到string1 和 string2 的值,如果在交换完第一步再拿String1的值,那么Sting1的值就会成为C,而不是B。

错误的写法为:

[array replaceObjectAtIndex:1 withObject:array[2]];

[array replaceObjectAtIndex:2 withObject:array[1]];

文章来源:https://blog.csdn.net/wyz670083956/article/details/135699358
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。