0427陣列相關思想

2022-05-26 15:06:11 字數 2361 閱讀 1581

1.可以在方法中,將需要儲存的資料放在陣列中,從方法外讀取陣列結果

3.標記思想

4.**合法性判斷思想,對使用者輸入的資料進行合法性判斷,保證**的健壯性

找出陣列中指定元素的所有下標位置
案例陣列:

int arr = ;

找出元素1 的所有下標位置

需要得到:

0, 3, 6

要求: a. 不允許在方法內列印展示

b. 考慮多個資料情況

c. 需要在方法外獲取到下標資料資訊

d. 不允許使用陣列作為返回值

e. 乙個方法完成

目的:1. 學會使用陣列傳遞過程,儲存必要的資料

2. 操作過程中會形成乙個計數器思想

3. 形成乙個標記性思想

4. 形成**安全性判斷思想,保證**健壯性,安全性

方法分析
/*

方法分析:

固定格式:

public static 不要問

返回值型別: 【思考】

void : 黑盒方法,還行

boolean : 也還行

int : 返回什麼內容?

返回值採用int型別,返回的資料時目標陣列中有多少個找到元素

返回0,表示沒有指定元素,返回值的大於等於1找到的個數

方法名:

findallindexes

找出所有的下標位置

形式引數列表:

1. 查詢資料的目標陣列

2. int需要查詢的資料

3. int型別陣列,儲存下標位置

最大的問題:

找到的下標位置如何儲存,然後讓方法外可以得到

1. 下標首先是int型別

2. 下標可能存在多個

這裡貌似需要乙個陣列,int型別陣列,儲存下標位置

但是陣列不能作為返回值

這裡有且只有乙個途徑,在引數中加入乙個陣列,

用於儲存找到的目標資料下標位置,這裡傳入的儲存下標的

陣列可以在方法內使用,並且儲存資料,方法外可以獲取

問題繼續分析

(int arr, int indexes, int find)

arr 是源資料陣列

indexes 儲存下標的陣列

indexes 下標為0的元素,如果儲存的資料是0的情況下,不能確定0是【有效資料】還是無效資料。

這裡需要乙個資料,來輔助我們確定當前indexes陣列中有多少有效元素,或者說找到了多少個指定元素。

方法宣告:

public static int findallindex(int arr, int indexes, int find)

*/

package com.qfedu.a.homework;

public class homework1 ;

// 建立與原陣列長度一致的陣列,用於儲存查詢值。然後將陣列的有效長度(相同的合數)返回,迴圈列印結果

int indexes = new int[arr.length];

// 接受方法的返回值,得到的數查詢目標資料的個數

int count = findallindex(arr, indexes, 1);

//增加返回值資料判斷,根據返回結果給使用者訊息,避免沒有結果現象

if (count > 0)

} else }

/* * indexes陣列容量 == arr.length?

* why???

* 1. 存在可能性目標陣列中的所有元素都是指定需要查詢的資料

* 2. 如果大於目標陣列容量,浪費空間

*//**

* 找出指定陣列arr中,指定元素find所有的下標位置,儲存到indexes陣列中,返回值 是找到的目標資料個數

* * @param arr 查詢資料的目標陣列

* @param indexes 儲存下標資訊的陣列

* @param find 指定的目標資料

* @return 找到指定資料個數,返回0,表示沒有找到,返回值大於0,找的元素個數

*/public static int findallindex(int arr, int indexes, int find)

/** 1. 計數,當前指定陣列arr中,有多少個目標元素

* 2. count同時是indexes陣列中下一次存放資料的下標位置

*/int count = 0;

// 遍歷目標陣列arr

for (int i = 0; i < arr.length; i++)

}

return count;

}}

陣列相關及其主要思想回顧

陣列是乙個變數,儲存相同資料型別的一組資料。資料型別 陣列 名 或 資料型別 陣列名 1.資料型別相同 2.陣列名實際就是乙個變數,既然是變數就必須先賦值再使用 3.陣列的每乙個元素既可以是基本資料型別也可以是引用資料型別 1 初始化的同時為每個元素賦值,不需要指明長度 2 int scores 建...

KMP next 陣列的思想

剛剛寫了點 我剛剛除錯了幾次 然後又在自行輸出 我先說說 啊,就是這個 next 陣列就為什麼可以求出前字尾最長 相同的數量?首先說說 前字尾,例如字串 aaaa,我們就直接用眼睛看的話,就是最長就是3,aaa a a aaa。這就是最長的前字尾,我們怎麼用 實現的呢?首先 前字尾 不能是一樣的 就...

const相關,指標相關,陣列相關

include include head.h int a 3,c 2 const int b a b 8 error b c right const用來修飾指標所指向的變數,還是指標 可以修改指標指向位址,但不能直接修改指向內容 int const b a b 8 right p error con...