Android 中演算法問題

2021-07-24 06:39:39 字數 1687 閱讀 7598

1:氣泡排序:

氣泡排序的思路: 相鄰的兩個數進行比較

(1):首先需要連個for 迴圈

(2):最外層for 迴圈控制最裡面 for 迴圈的迴圈次數

(3):通過設定中間引數的方式進行交換

(4):**如下:

//氣泡排序

public void bubblesort() ;

int temp = 0;

//最外層是不是用來控制裡面接下來需要比較多少次

for (int i = 0; i < a.length - 1; i++) }

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

system.out.println(a[i]); }

兩個數直接的互動方式:

注意: 在不引入其它變數的情況下交換兩個數,利用兩數之和來做

// a = a+b; //a儲存兩數之和

// b = a-b; //兩數之和-b,即為a

// a = a-b; //兩數之和-b,此時的b已經變成了a,所以相當於sum-a=b

// system.out.println("swapbyself first function:a="+a+",b="+b);

// //還有另一種方法,利用兩數之差,即兩數之間的距離

// a = b-a; //a=兩者的差

// b = b-a; //b = 原來的b-兩數的距離==原來的a

// a = a+b; //最終的a=兩者之差+原來的a==原來的b 2:

快速排序:(具體實現思路如下)

選擇乙個基準元素

,通常選擇第乙個元素或者最後乙個元素

,通過一趟掃瞄,將待排序列分成兩部分

,一部分比基準元素小

,一部分大於等於基準元素

,此時基準元素在其排好序後的正確位置

,然後再用同樣的方法遞迴地排序劃分的兩部分

public static void _choicesort(integer a)

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

if (i != min) }

}3:二分法:(主要是查詢指定的乙個數)

當資料量很大適宜採用該方法。

採用二分法查詢時,資料需是有序不重複的

基本思想:假設資料是按公升序排序的,對於給定值 x,從序列的中間位置開始比較,如果當前位置值等於 x,則查詢成功;若 x 小於當前位置值,則在數列的前半段中查詢;若 x 大於當前位置值則在數列的後半段中繼續查詢,直到找到為止。

public

class

dichotomysearch ; system.out.println(search(arr, 12)); system.out.println(search(arr, 45)); system.out.println(search(arr, 67)); system.out.println(search(arr, 89)); system.out.println(search(arr, 99)); }

public

static

intsearch(

int arr,

intkey)

else

if(key > arr[middle])

else

} return

-1; }}

android中延遲的問題

android開發中有的時候需要延時執行某個任務,此時我們需要做乙個延時操作。下面列出來其中的幾個方法 一 利用執行緒的sleep進行延時 html view plain copy 1.new thread new runnable 6.start 二 使用timertask延時器 html vie...

Android中的小問題

1 item布局,層級越少越好,使用hierarchyview工具檢視優化 2 復用convertview 3 使用viewholder減少findviewbyid 4 item中有時,非同步載入picasso 5 快速滑動時,不載入 6 item中有時,應當對進行壓縮 7 實現資料的分頁載入 1 ...

Android 中傳遞 json 的問題

原問題來自於csdn問答頻道,更多解決方案見 問題描述 我在開發乙個程式,在 webpage 上使用jquery。post url,function result 根據引數結構,paramstring 是乙個 json字串,如 現在我想在android中執行,再在頁面上新增兩個textview 來輸...