#import
//nsarry 建立不可變陣列物件
//陣列就是物件的有序集合
//陣列儲存的是物件的位址(物件的引用)
//不可變陣列一旦被建立,不可以繼續新增、刪除或者修改
//陣列中元素可以為不同型別物件
//陣列的訪問通過陣列的下標訪問,下標從0開始
int main(int argc, const
char * argv) {
@autoreleasepool{
nsarray *array1 = @[
@"one", @"two", @"there",[nsnumber
numberwithint:123]];
nslog(@"array1 = %@", array1);
//陣列的建立及初始化
//建立空陣列物件
nsarray *array2 = [[nsarray
alloc] init];
nslog(@"array2 = %@", array2);
//通過傳入陣列元素建立陣列物件
nsarray *array3 = [[nsarray
alloc] initwithobjects:@"four", @"five", @"six",nil];//nil表示陣列的結束
nslog(@"array3 = %@", array3);
//通過傳入的陣列建立陣列物件
nsarray *array4 = [[nsarray
alloc] initwitharray:array1];
nslog(@"array4 = %@", array4);
nsarray *array5 = [[nsarray
alloc] initwitharray:array4 copyitems:yes];
nslog(@"array5 = %@", array5);
//類方法建立空的陣列物件
nsarray *array6 = [nsarray
array];
nslog(@"array6 = %@", array6);
//類方法通過傳入陣列元素建立陣列物件
nsarray *array7 = [nsarray
arraywithobjects:@"seven", @"eight", @"nine",nil];
nslog(@"array7 = %@", array7);
//通過傳入的陣列物件建立陣列
nsarray *array8 = [nsarray
arraywitharray:array7];
nslog(@"array8 = %@", array8);
//建立乙個元素的陣列物件
nsarray *array9 = [nsarray
arraywithobject:@"ten"];
nslog(@"array9 = %@", array9);
//陣列元素的訪問
//獲取陣列元素的個數
nsinteger count = [array1 count];
nslog(@"count = %li", count);
//獲取指定索引位置的物件
id obj1 = [array1 objectatindex:2];
nslog(@"obj1 = %@", obj1);
nslog(@"obj1 = %@", array1[2]);
//獲取陣列元素在陣列中第一次出現的位置
nsinteger index = [array1 indexofobject:@"two"];
nslog(@"index = %li", index);
//獲取陣列中最後乙個元素
nslog(@"lastobject = %@", [array1 lastobject]);
//獲取陣列中第乙個元素
nslog(@"firstobject = %@", [array1 firstobject]);
//陣列的比較
nsarray *array10 = @[
@"one", @"two", @"there"
];nsarray *array11 = [nsarray
arraywithobjects:@"one", @"two", @"there",nil];
//判斷陣列是否相等
bool ret = [array10 isequaltoarray:array11];
if (ret == yes) {
nslog
(@"array10 == array11");
else{
nslog
(@"array10 != array11");
//返回兩個陣列中第乙個相等的元素
id obj2 = [array10 firstobjectcommonwitharray:array11];
nslog(@"obj2 = %@", obj2);
//陣列的排序
//通常排序的陣列中的元素是相同型別
//通常排序後的陣列預設都是從小到大的順序
nsarray
*array12 =
@[@"one", @"two", @"three", @"four"];
//- (nsarray *)sortedarrayusingselector:(sel)comparator;
//@selector 生成選擇器
//規則方法的返回值為》0的數的時候,底層會交換兩個陣列元素位置
nsarray *sortarray = [array12 sortedarrayusingselector:@selector(compare:)];
nslog(@"sortarray = %@", sortarray);
return0;
陣列及陣列操作
c語言是在組合語言的基礎上就行的抽象,所以在理解c語言程式時,務必要以記憶體為基礎進行理解。關於陣列,只是同種型別資料的記憶體使用方式,除了在與指標連用時的語法比較繁瑣,其他都比較簡單。1 定義 初始化 使用 結合指標使用時,就要把它當做位址了 2 使用的情況 當儲存多個相同型別的資料時,可以使用陣...
陣列的建立及使用
1 陣列直接量 var arr red yellow green 2 陣列例項化 var arr new array 20 3 陣列的長度 var arr new array 20 console.log arr.length 20 var arr 20 console.log arr.length...
順序表的建立及操作
1 線性表結構體的演算法 define maxsize maxlen maxlen表示線性表可能的最大資料元素數目 typedef int elemtype elemtype表示資料元素型別,此處定義為int typedef struct sqlist sqlist是資料型別 2 求表長 int l...