配列を要素を加える:append()
配列に配列を加えることもできる。
float array1[] = {1.2, 3.4, 5.6};
float array2[] = {4.0, 5.2, 1.8};
append(array1, array2);
printf('array1:' + sprintf('%g', array1) + '\n');
// array1:{1.2, 3.4, 5.6, 4, 5.2, 1.8}
配列を逆順に並び替える:reverse()
配列を逆順に並び替える
float array1[] = {1.2, 3.4, 5.6};
array1 = reverse(array1);
printf('array1:' + sprintf('%g', array1) + '\n');
// array1:{5.6, 3.4, 1.2}
配列から値を削除する:removevalue()
配列から値を削除する
int indices[] = {1, 23, 53, 62, 98, 101};
removevalue(indices, 53);
printf('ids:' + sprintf('%g', indices) + '\n');
// indices:{1, 23, 62, 98, 101}
配列から配列を削除するにはループ処理を行う
int indices[] = {1, 23, 53, 62, 98, 101};
int list[] = {1, 53, 62, 98};
for(int i = 0; i < len(list); i++)
{
removevalue(indices, list[i]);
}
printf('indices:' + sprintf('%g', indices) + '\n');
// indices:{23, 101}
配列から値をインデックスで削除する:removeindex()
int array[] = {0, 1, 2, 3, 4, 5};
for(int i = 0; i < len(array); i++)
{
if(i == 3) removeindex(array, 4);
printf('i:' + sprintf('%g', i) + '\n');
printf('array[i]:' + sprintf('%g', array[i]) + '\n');
printf('array:' + sprintf('%g', array) + '\n');
}
removeindex()で削除した時点でループ処理に影響がでてずれる。
昇順に並び替える:sort()
昇順に並び替える
int indices[] = {45, 12, 53, 24, 98, 22};
indices = sort(indices);
printf('indices :' + sprintf('%g', indices) + '\n');
// indices :{12, 22, 24, 45, 53, 98}
値が含まれているか判定する:find()
配列内に値が含まれている調べてインデックスを返す(存在しない場合は配列数をマイナスした値が返る)
int array[] = {1, 3, 4, 6, 9};
int isExist = find(array, 2);
printf('isExist:' + sprintf('%g', isExist) + '\n');
// isExist:-6
重複の削除
find()を使う。
int array[] = {1, 3, 3, 4, 6, 9, 1, 6};
int result[];
foreach(int value;array)
{
if(find(result, value) < 0)
append(result, value);
}
printf('result:' + sprintf('%g', result) + '\n');
//result:{1, 3, 4, 6, 9}
配列のスライス
int nums[] = { 0, 1, 2, 3, 4, 5 };
int start[] = nums[0:2]; // { 0, 1 }
int end[] = nums[-2:]; // { 4, 5 }
int rev[] = nums[::-1]; // { 5, 4, 3, 2, 1, 0 }
int odd[] = nums[1::2]; // { 1, 3, 5 }
pop()
int list[] = {9, 4, 6, 2, 9, 2};
pop(list, 0);
printf('list:' + sprintf('%g', list) + '\n');
//list:{4, 6, 2, 9, 2};