for迴圈巢狀的使用
阿新 • • 發佈:2018-11-25
雙重迴圈排序
雙重迴圈排序演算法是一種非常簡單的排序演算法,這種演算法很容易讓人理解,也很實用,但是排序的效率很低。基本思路是用第一個數與後面的所有數進行比較,然後把最小的數放到第一個位置,然後用第二個數與後面的所有數進行比較,然後把第二個最小的數放到第二個位置,然後用第三個數....最後用倒數第二個數進行比較,這樣最終形成從小到大的排列順序。
雙層for迴圈 外層是迴圈次數,內層是比較次數
int i, j, t; int a[10] = {2, 5, 8, 1, 3, 4, 7, 9, 0, 6}; // 共10個數據 // 雙重for迴圈排序 for(i=0; i<9; i++) // 從第1個到第9個 { for(j=i+1; j<10; j++) // 將a[i]和後面的所有數進行比較 { if(a[i]>a[j]) // 如果a[i]大於後面的數則進行交換 { t=a[i]; a[i]=a[j]; a[j]=t; } } }
假設有10個數,則需要進行10-1趟(即9趟)比較,每趟從第一個數開始與後面相鄰的一個數比較,如果前面的數比後面相鄰的數大則相互交換,經過一趟比較之後,最大的那個數被放在最後面。然後進行下一趟比較,又從第一個數開始比較,但不包括前面一趟已經找出來的那個最大的數,因此下一趟要比前一趟比較的次數少一次。可見這種演算法每進行一趟後會把本趟最大的數“升到”末尾,如氣泡一樣逐步升出水面,故稱為“冒泡法”或“起泡法”。
// 氣泡排序 for(i=0; i<9; i++) // 總共需要比較9趟 { for(j=0; j<9-i; j++) // 只需比較前面的數,最後的是最大數,第一趟i為0時比較9次,第二趟比較8次,第三趟比較7次.... { if(a[j]>a[j+1]) // 如果a[j]大於後面相鄰的一個數則進行交換 { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } }
java一般通過foreach的方式進行遍歷
Map<String, List<String>> maps = new HashMap<String, List<String>>(); List<String> yearCovlist = new ArrayList<String>(); List<String> orglist = new ArrayList<String>(); String[] orgString = {"001001","001002","001003","001004","001005","001006"}; List<PipeVO> rushCount = pipeMapper.showPipeList(vo); List<PipeVO> zeroString = new ArrayList<PipeVO>(); for (String code : orgString) { boolean hasCde = false; for (PipeVO pipeVO : rushCount) { if(code.equals(pipeVO.getDepOrder())) { zeroString.add(pipeVO); hasCde = true; break; } } if(!hasCde) { PipeVO temp = new PipeVO(); temp.setDepOrder(code); temp.setDayCovRate("0"); temp.setRunUser("1"); zeroString.add(temp); } } // for(int j = 0;j<stringArray.size();j++) { // for(int m=0;m<rushCount.size();m++) { // if(!rushCount.get(m).getDepOrder().equals(stringArray.get(j))) { // break; // } // } // // }
識別符號主要判斷的是是否要執行操作,根據條件判斷要不要進入執行執行某個方法
內層for迴圈的if主要根據固定的陣列值進行判斷,通過外層的for迴圈取值與內層的for迴圈所有值進行比對。判斷的是三種情況的條件,第一種是外層的值和內層所有值中某一個相等,第二種,外層的值和內層其他不相等的值,第三種是外層的值與內層的所有值都不相等的情況
js的雙層for迴圈
js一般通過for in的方式進行遍歷
$.ajax({
type : "post",
url : CONTEXT_PATH + '/cusviews/produce/showProduceList',
data : {},
success : function(data){
var result = jQuery.parseJSON(data);
var names = ["0:帶氣接切線","1:啟箱通氣","2:更換裝置","3:加拆盲板","4:戶內立管停氣"];
var rlt = {
"data" : []
};
for (var key in result.workTypelist){
for (var i = 0, len = names.length; i < len; i++){
var nItem = names[i], noKey = nItem.split(":")[0], nVal = nItem.split(":")[1];
if(key==noKey){
var obj = {};
obj.value = result.Numlist[key], obj.name = nVal;
rlt.data.push(obj);
}
}
}
renderPies(rlt);
}
});