คำถามติดแท็ก nested-loops

30
ฉันจะแยกลูปซ้อนกันใน Java ได้อย่างไร
ฉันมีโครงสร้างวนซ้อนกันเช่นนี้: for (Type type : types) { for (Type t : types2) { if (some condition) { // Do something and break... break; // Breaks out of the inner loop } } } ตอนนี้ฉันจะแยกลูปทั้งสองออกได้อย่างไร ฉันได้ดูคำถามที่คล้ายกัน แต่ไม่มีใครกังวล Java โดยเฉพาะ ฉันใช้โซลูชันเหล่านี้ไม่ได้เพราะ gotos ที่ใช้มากที่สุด ฉันไม่ต้องการใส่วนรอบในวิธีอื่น ฉันไม่ต้องการวิ่งวนซ้ำ เมื่อแตกฉันทำเสร็จแล้วด้วยการดำเนินการบล็อกลูป
1818 java  loops  nested-loops 

30
วิธีการแบ่งออกเป็นหลายลูป
รับรหัสต่อไปนี้ (ที่ใช้งานไม่ได้): while True: #snip: print out current state while True: ok = get_input("Is this ok? (y/n)") if ok.lower() == "y": break 2 #this doesn't work :( if ok.lower() == "n": break #do more processing with menus and stuff มีวิธีที่จะทำให้งานนี้หรือไม่? หรือฉันจะตรวจสอบหนึ่งครั้งเพื่อแยกออกจากลูปอินพุทจากนั้นอีก จำกัด มากขึ้นตรวจสอบในลูปภายนอกเพื่อแยกออกทั้งหมดด้วยกันถ้าผู้ใช้พอใจ?

15
อะไรคือวิธีที่ดีที่สุดในการแยกจากลูปซ้อนใน JavaScript
เป็นวิธีที่ดีที่สุดในการแยกจากลูปซ้อนใน Javascript อะไร //Write the links to the page. for (var x = 0; x < Args.length; x++) { for (var Heading in Navigation.Headings) { for (var Item in Navigation.Headings[Heading]) { if (Args[x] == Navigation.Headings[Heading][Item].Name) { document.write("<a href=\"" + Navigation.Headings[Heading][Item].URL + "\">" + Navigation.Headings[Heading][Item].Name + "</a> : "); break; // …

19
ฉันสามารถใช้ตัวแบ่งเพื่อออกจากลูปหลาย ๆ อัน 'สำหรับ' ลูปได้หรือไม่
เป็นไปได้ไหมที่จะใช้breakฟังก์ชั่นนี้เพื่อออกจากforลูปซ้อนหลายอัน? ถ้าเป็นเช่นนั้นคุณจะทำสิ่งนี้อย่างไร คุณสามารถควบคุมจำนวนการbreakออกจากลูปได้หรือไม่

22
แยกออกจากวงซ้อนกัน
หากฉันมีการวนซ้ำแบบวนซ้ำซึ่งซ้อนกันภายในอีกครั้งฉันจะออกมาได้อย่างมีประสิทธิภาพทั้งจากลูป (ภายในและภายนอก) ในวิธีที่เร็วที่สุดที่เป็นไปได้อย่างไร ฉันไม่ต้องการใช้บูลีนและต้องบอกว่าไปยังวิธีอื่น แต่เพียงเพื่อรันโค้ดบรรทัดแรกหลังจากวนรอบด้านนอก อะไรคือวิธีที่รวดเร็วและดีที่จะทำเรื่องนี้? ฉันคิดว่าการยกเว้นจะไม่ถูก / ควรถูกโยนในสภาพที่ยอดเยี่ยมจริงๆเท่านั้นดังนั้นฉันไม่คิดว่าวิธีนี้จะดีในแง่ของประสิทธิภาพ ฉันไม่รู้สึกว่ามันถูกต้องที่จะใช้ประโยชน์จากฟีเจอร์ใหม่ใน. NET (วิธี anon) เพื่อทำสิ่งที่ค่อนข้างพื้นฐาน

6
ฉันจะทำลายวงนอกด้วย PHP ได้อย่างไร
ฉันต้องการทำลายลูปภายนอกสำหรับ / foreach ใน PHP สิ่งนี้สามารถทำได้ใน ActionScript ดังนี้: top : for each(var i:MovieClip in movieClipArray) { for each(var j:String in nameArray) { if(i.name == j) break top; } } PHP เทียบเท่ากับอะไร?

6
Breaking / exit ซ้อนใน vb.net
ฉันจะออกจากการซ้อนหรือวนซ้ำใน vb.net ได้อย่างไร ฉันพยายามใช้ทางออก แต่มันกระโดดหรือแตกเพียงอันเดียวสำหรับลูปเท่านั้น ฉันจะทำสิ่งต่อไปนี้ได้อย่างไร: for each item in itemList for each item1 in itemList1 if item1.text = "bla bla bla" then exit for end if end for end for

5
บรรทัดเดียวซ้อนกันสำหรับลูป
เขียนฟังก์ชันนี้ใน python ที่เปลี่ยนเมทริกซ์: def transpose(m): height = len(m) width = len(m[0]) return [ [ m[i][j] for i in range(0, height) ] for j in range(0, width) ] ในกระบวนการนี้ฉันตระหนักว่าฉันไม่เข้าใจอย่างถ่องแท้ว่าบรรทัดเดียวซ้อนกันเพื่อดำเนินการลูปอย่างไร โปรดช่วยฉันทำความเข้าใจโดยตอบคำถามต่อไปนี้: ลำดับของการดำเนินการลูปคืออะไร ถ้าฉันมีสามชั้นซ้อนกันสำหรับลูปมันจะดำเนินการอย่างไร อะไรจะเท่ากับ unested ที่เท่าเทียมกันสำหรับลูป? ให้ [ function(i,j) for i,j in object ] ออบเจ็กต์ต้องเป็นประเภทใดจึงจะใช้โครงสร้างลูป ลำดับที่ i และ j กำหนดให้กับองค์ประกอบในออบเจ็กต์คืออะไร สามารถจำลองโดยใช้โครงสร้างลูปที่แตกต่างกันได้หรือไม่? สิ่งนี้สำหรับลูปสามารถซ้อนด้วยโครงสร้างที่คล้ายกันหรือต่างกันสำหรับลูปได้หรือไม่? …

15
จะแยกลูปที่ซ้อนกันได้อย่างไร?
ถ้าฉันใช้breakคำสั่งมันจะทำลายวงในเท่านั้นและฉันต้องใช้แฟล็กเพื่อทำลายวงนอก แต่ถ้ามีลูปที่ซ้อนกันมากโค้ดจะดูไม่ดี มีวิธีอื่นในการทำลายลูปทั้งหมดหรือไม่? (กรุณาอย่าใช้goto stmt) for(int i = 0; i < 1000; i++) { for(int j = 0; j < 1000; j++) { if(condition) { // both of the loops need to break and control will go to stmt2 } } } stmt2
100 c  nested-loops  break 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.