不就幾種資料型別麼?01 陣列

2021-10-01 20:40:59 字數 1988 閱讀 9427

哈!這是苗某重新開始學習的第一篇文章。各位看官,別離數月,可否安好?我想還是不錯的。

快過年了,將去年的計畫拿來改個日期...擦,還能用,畢竟是祖國花朵,縫縫補補的優良傳統可不丟~

哇,這圖畫的真棒(手動滑稽~)

陣列對應的英文是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,他會把 識別為減號,但是 中間...