Houdini VEX(十五)數組相關函數

一衣吠、數組相關函數

int num[10] = {5,2,3,3,4,8,1}; //用戶設置的初始長度會被忽略
printf('%s\n',num); 
printf('=================================\n');

resize(num,10);    //設置數組的長度期虾,變長毁习,新值為0或''
printf('%s\n',num);//注意這類function不返回數據根竿,而直接修改所傳入的數組變量
printf('=================================\n');

resize(num,6);     //設置數組的長度迄薄,變短疫诽,當然會刪去已有元素
printf('%s\n',num);
printf('=================================\n');

string word[] = {'$','HIP','/'}; //創(chuàng)建字符串數組
printf('%s\n',word         );
printf('%s\n',len(word)    ); //len(array) 返回數組的長度(元素數量)
printf('%s\n',len(word[1]) ); //len(string) 返回字符的數量
printf('=================================\n');

string last = pop(word); //pop() 將數組最后一個元素抽去并返回钻心,數組長度減一
int numm[] = {5,2,3,3,4,8,1};
printf('%s\n',last ); 
printf('%s\n',word ); 
pop(word,0);             //依據id將指定元素抽離
printf('%s\n',word );
pop(numm,-2);             //刪去倒數第二個
printf('%s\n',numm ); 
//removeindex(&array[], index)有相同效果 
int ture = removevalue(numm,3); //刪除數組中發(fā)現(xiàn)的第一個數值為3的元素唉匾,
printf('%s\n',ture ); //刪除成功返回1孕讳,否則返回0
printf('%s\n',numm );
printf('=================================\n');

append(word,'/geo');     //在數組的末尾添加一個元素,相同功能的還有push()
word[5] = '/agents';
append(word, {'/zombie','/clip'} ); //在數組的末尾拼接另一個數組(literal)
string test[] = {'/walk'}; 
append(word,test);                  //在數組的末尾拼接另一個數組(variable)
printf('%s\n',word ); 
printf('=================================\n');

int pts[] = array(1, 2.5, 'k', {5,4,3} ); //用 各種數據和變量 創(chuàng)建一個數組
printf('%s\n',pts );                      //都會被轉成指定類型巍膘,這里是整數
printf('=================================\n');

vector  pos[] = { {1,2,3}, {4,5,6} };
matrix3 rot[] = { {{1,0,0}, {0,1,0}, {0,0,1}} , {{0,0,2}, {2,0,0}, {0,2,0}} };
float posfloat[] = serialize(pos); //將向量數組 展平 成浮點數組
float rotfloat[] = serialize(rot); //將矩陣數組 展平 厂财,每個分量都是一個浮點元素
printf('%s\n',posfloat ); 
printf('%s\n',rotfloat );
printf('=================================\n');

vector vel[];
matrix3 scale[];
float flt[] = { 1, 1, 0, 1, 2, 0, 3, 1, 3 };
vel = unserialize(flt);  //將浮點數組 組合 成向量數組,3個浮點一個向量
scale = unserialize(flt);//將浮點數組 組合 成矩陣數組
printf('%s\n',vel );
printf('%s\n',scale );
printf('=================================\n');

int number[] = { 5, 2, 3, 1, 4, 6, 7, 9, 0 };
printf('%s\n',min(number) );
printf('%s\n',max(number) );
printf('%s\n',avg(number) );
printf('%s\n',sort(number) );//返回新的排好序的數組峡懈,排序方式從小到大璃饱,原數組不變
printf('%s\n',argsort(number) );//返回數組,用這個數組的每一個值去給原數組排序肪康,就是從小到大的
int sorted[];
for(int i=0; i<len(number); ++i)
{
    int temp[] = argsort(number);
    sorted[i] = number[temp[i]];
}
printf('%s\n',sorted );
float re[] = reorder(flt,argsort(flt));
printf('%s\n',re ); 
reverse(sorted);//返回新的數組荚恶,反轉順序,原數組不變磷支,還可以用來反轉字符串"hello" -> "olleh"
printf('%s\n',reverse(sorted) );
printf('=================================\n');

int digit[] = { 5, 2, 3, 1, 4, 6, 7, 9, 0 };
insert(digit,1,23);  //在第n 號 元素前面插入元素
insert(digit,-1,43); //在倒數第n 個 元素前面插入元素 
printf('%s\n',digit );
int a[] = {8,8,8};
insert(digit,3,a);   //插入數組變量
printf('%s\n',digit );
printf('=================================\n');

int data[] = { 5, 2, 3, 1, 4, 6, 7, 9, 0 };
printf('%s\n', isvalidindex(data,-10) );
//該數組序號范圍0~8或 -1 ~ -9(倒數第一個~倒數第九個)
//如果序號在這數組中有谒撼,isvalidindex()返回真,否則返回假
//等價于index < len(array) && index >= -len(array)
//          這個例子中 id<9 && id>=-9  
printf('=================================\n');

//find() 回看自制neighbours函數視頻
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末雾狈,一起剝皮案震驚了整個濱河市廓潜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖辩蛋,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件呻畸,死亡現(xiàn)場離奇詭異,居然都是意外死亡堪澎,警方通過查閱死者的電腦和手機擂错,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來樱蛤,“玉大人,你說我怎么就攤上這事剑鞍∽蚍玻” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵蚁署,是天一觀的道長便脊。 經常有香客問我,道長光戈,這世上最難降的妖魔是什么哪痰? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮久妆,結果婚禮上晌杰,老公的妹妹穿的比我還像新娘。我一直安慰自己筷弦,他們只是感情好肋演,可當我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著烂琴,像睡著了一般爹殊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上奸绷,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天梗夸,我揣著相機與錄音,去河邊找鬼号醉。 笑死反症,一個胖子當著我的面吹牛,可吹牛的內容都是我干的扣癣。 我是一名探鬼主播惰帽,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼父虑!你這毒婦竟也來了该酗?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎呜魄,沒想到半個月后悔叽,有當地人在樹林里發(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡爵嗅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年娇澎,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片睹晒。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡趟庄,死狀恐怖,靈堂內的尸體忽然破棺而出伪很,到底是詐尸還是另有隱情戚啥,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布锉试,位于F島的核電站猫十,受9級特大地震影響,放射性物質發(fā)生泄漏呆盖。R本人自食惡果不足惜拖云,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望应又。 院中可真熱鬧宙项,春花似錦、人聲如沸丁频。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽席里。三九已至叔磷,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間奖磁,已是汗流浹背改基。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留咖为,地道東北人秕狰。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像躁染,于是被迫代替她去往敵國和親鸣哀。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,779評論 2 354

推薦閱讀更多精彩內容

  • 大家不要吐槽我寫的亂吞彤,其實是簡書的markdown編輯器有問題我衬,看內容感覺寫的很亂叹放。我聯(lián)系過簡書的技術人員,連我理...
    Airmole閱讀 960評論 0 4
  • PHP常用函數大全 usleep() 函數延遲代碼執(zhí)行若干微秒挠羔。 unpack() 函數從二進制字符串對數據進行解...
    上街買菜丶迷倒老太閱讀 1,369評論 0 20
  • 第5章 引用類型(返回首頁) 本章內容 使用對象 創(chuàng)建并操作數組 理解基本的JavaScript類型 使用基本類型...
    大學一百閱讀 3,233評論 0 4
  • 轉載:在開發(fā)中破加,數組的使用場景非常多俱恶,平日中也涉及到很多數組的api/相關操作,一直也沒有對這塊內容進行一塊整理總...
    七色煙火閱讀 3,219評論 0 3
  • 再談“書中自有黃金屋” 小時候范舀,經常聽老師將“書中自有黃金屋合是,書中自有顏...
    我是湯圓閱讀 145評論 0 0