哈!這是苗某重新開始學習的第一篇文章。各位看官,別離數月,可否安好?我想還是不錯的。
快過年了,將去年的計畫拿來改個日期...擦,還能用,畢竟是祖國花朵,縫縫補補的優良傳統可不丟~
哇,這圖畫的真棒(手動滑稽~)
陣列對應的英文是array,是有限個相同型別的變數所組成的有序集合,陣列中的每乙個變數被稱為元素。陣列是最簡單、最常用的資料結構之一。
2)、當你新建乙個陣列的時候,其實就是在記憶體裡面開闢一段連續的記憶體空間供你使用。這個特性很重要。
int ints = ;
//讀取某乙個下標下的元素
system.out.println(ints[3]);
int ints = ;
//修改下標為3的元素 ints[3]=-1;
system.out.println(ints[3]);
首先:陣列元素的數量有可能小於陣列的長度。
int ints = new int[10];
for (int i = 0; i <9 ; i++)
system.out.println(ints.length);
arrays.stream(ints).foreach(value -> system.out.print(value+"\t"));
如上**,第十個元素沒有賦值,但是你去讀取時會預設為0;
因此,插入陣列有的操作存在3中情況。
尾部插入最簡單,就是直接把元素放在宿主尾部的空閒位置即可。等同於更新元素。
中間插入稍微有點複雜。由於陣列的每乙個元素都有其固定的下標。所以不得不首先把插入位置及後面的元素向後移動,騰出地方,再把要插入的元素放在對應的陣列位置上。
/*** 元素插入
*/public void insert(int index,int element)
for (int i = size-1; i >=index ; i--)
//騰出來的地方i放入插入的值
array[index]=element;
//插入乙個元素,size++
size++;
}/**
* 輸出陣列
*/public void optout()
/*** 元素插入
*/public void insert(int index,int element)
//如果實際seize已經到達array.length進行擴容
if (size>=array.length)
for (int i = size-1; i >=index ; i--)
//騰出來的地方i放入插入的值
array[index]=element;
//插入乙個元素,size++
size++;
}//擴容
private void resize()
/*** 輸出陣列
*/public void optout()
int delectelement = array[index];
//從左向右迴圈,將元素逐個向左移動一位
for (int i =index; i 1)、陣列的插入:陣列的擴容時間複雜度為o(n),陣列的插入的時間複雜度為o(n),綜合可以知道陣列的插入時間複雜度為o(n);
2)、陣列的刪除:只涉及元素移動,時間複雜度也是為o(n)
怎麼樣,挺簡單的吧~灑灑水啦~那鍊錶是不是也是如此簡單呢,欲知後事如何,請聽下回分解。下期見。
qt幾種資料型別轉換
1 int型轉十六進製制 補0 qstring s s qstring 1 arg k,4,16,qlatin1char 0 k為int或char都可,第二個引數為資料寬度,第三個引數為進製 不補 0 s qstring number k,16 2 十六進製制轉浮點數 正數 qstring str ...
C 幾種資料型別轉換
1.int 變數名 強制型別轉換 該轉換方式主要用於數字型別之間的轉換,從int型別向long,float,double,decimal 型別轉換可以使用隱式轉換,但從long型到int 就需要使用顯示轉換,即使用該型別的轉換方式否則產生編譯錯誤。該方式對於浮點數會無條件的捨去,會失去精確度 對於c...
python的幾種資料型別
python3中有六個標準的資料型別 其中,這六個型別的資料又可以根據是否可變,分為兩大類 ps 當我們輸入乙個字串str 2021 1 11 時和 2021 1 11 雖然都是字串表示形式,但是他們的輸出結果卻不一樣,str 2021 1 11 輸出的結果是2009,他會把 識別為減號,但是 中間...