คำถามติดแท็ก arrays

อาร์เรย์คือโครงสร้างข้อมูลเชิงเส้นที่เรียงลำดับซึ่งประกอบด้วยชุดขององค์ประกอบ (ค่าตัวแปรหรือการอ้างอิง) โดยแต่ละรายการจะถูกระบุด้วยดัชนีหนึ่งรายการหรือมากกว่า เมื่อถามเกี่ยวกับตัวแปรเฉพาะของอาร์เรย์ให้ใช้แท็กที่เกี่ยวข้องเหล่านี้แทน: [vector], [arraylist], [matrix] เมื่อใช้แท็กนี้ในคำถามที่เฉพาะเจาะจงกับภาษาการเขียนโปรแกรมให้แท็กคำถามด้วยภาษาการเขียนโปรแกรมที่ใช้

8
วิธีที่มีประสิทธิภาพในการค้นหาองค์ประกอบ
เมื่อเร็ว ๆ นี้ฉันได้ให้สัมภาษณ์ซึ่งพวกเขาถามคำถาม " ค้นหา " คำถามคือ: ถือว่ามีอาร์เรย์ของ (บวก) จำนวนเต็มซึ่งแต่ละองค์ประกอบเป็นอย่างใดอย่างหนึ่ง+1หรือ-1เมื่อเทียบกับองค์ประกอบที่อยู่ใกล้เคียง ตัวอย่าง: array = [4,5,6,5,4,3,2,3,4,5,6,7,8]; ตอนนี้ค้นหา7และส่งคืนตำแหน่ง ฉันให้คำตอบนี้: จัดเก็บค่าในอาร์เรย์ชั่วคราวเรียงลำดับแล้วใช้การค้นหาแบบไบนารี หากพบองค์ประกอบให้คืนตำแหน่งในอาร์เรย์ชั่วคราว (หากตัวเลขเกิดขึ้นสองครั้งให้คืนค่าที่เกิดขึ้นครั้งแรก) แต่ดูเหมือนพวกเขาจะไม่พอใจกับคำตอบนี้ คำตอบที่ถูกต้องคืออะไร?

5
เข้าถึงอาร์เรย์ที่ส่งคืนโดยฟังก์ชันใน php
ฉันใช้เทมเพลตเอนจิ้นที่แทรกโค้ดในไซต์ของฉันในที่ที่ฉันต้องการ ฉันเขียนฟังก์ชันเพื่อทดสอบบางสิ่งซึ่งค่อนข้างง่าย: myfunction() { return '($this->data["a"]["b"] ? true : false)'; } ปัญหาคือ $ this-> data เป็นข้อมูลส่วนตัวและฉันไม่สามารถเข้าถึงได้ทุกที่ดังนั้นฉันจึงต้องใช้ getData (); ซึ่งทำให้เกิดปัญหาของฉัน $this->getData()['a']['b'] ไม่ได้ผลและการกำหนดค่าก่อนไม่ได้เช่นกันเนื่องจากจะถูกใช้โดยตรงในบล็อก if () ความคิดใด ๆ ?
88 php  arrays 

3
JavaScript - ความแตกต่างของ myArray.forEach vs for loop
ฉันเห็นคำถามมากมายที่แนะนำให้ใช้: for (var i = 0; i < myArray.length; i++){ /* ... */ } แทน: for (var i in myArray){ /* ... */ } สำหรับอาร์เรย์เนื่องจากการวนซ้ำไม่สอดคล้องกัน ( ดูที่นี่ ) อย่างไรก็ตามฉันไม่พบสิ่งที่ดูเหมือนจะชอบลูปเชิงวัตถุ: myArray.forEach(function(item, index){ /* ... */ }); ซึ่งดูเหมือนง่ายกว่าสำหรับฉัน สำหรับโครงการปัจจุบันของฉันความเข้ากันได้ของ IE8 เป็นสิ่งสำคัญและฉันกำลังพิจารณาใช้polyfill ของ Mozillaแต่ฉันไม่แน่ใจ 100% ว่าจะได้ผลอย่างไร มีความแตกต่างระหว่างมาตรฐานสำหรับลูป (ตัวอย่างแรกด้านบน) และการใช้งาน Array.prototype.forEach โดยเบราว์เซอร์สมัยใหม่หรือไม่ มีความแตกต่างระหว่างการใช้งานเบราว์เซอร์สมัยใหม่และการใช้งานของ Mozilla …

4
Java เร็วกว่า 8 เท่าด้วยอาร์เรย์มากกว่า std :: vector ใน C ++ ผมทำอะไรผิด?
ฉันมีโค้ด Java ต่อไปนี้พร้อมอาร์เรย์ขนาดใหญ่หลายอันซึ่งไม่เคยเปลี่ยนขนาด มันทำงานใน 1100 ms บนคอมพิวเตอร์ของฉัน ผมนำมาใช้รหัสเดียวกันใน C ++ std::vectorและใช้ เวลาของการใช้งาน C ++ ซึ่งรันโค้ดเดียวกันคือ 8800 ms บนคอมพิวเตอร์ของฉัน ฉันทำอะไรผิดถึงได้ทำงานช้าขนาดนี้ โดยทั่วไปโค้ดจะทำสิ่งต่อไปนี้: for (int i = 0; i < numberOfCells; ++i) { h[i] = h[i] + 1; floodedCells[i] = !floodedCells[i]; floodedCellsTimeInterval[i] = !floodedCellsTimeInterval[i]; qInflow[i] = qInflow[i] + 1; } มันวนซ้ำผ่านอาร์เรย์ต่างๆที่มีขนาดประมาณ 20,000 คุณสามารถค้นหาการใช้งานทั้งสองได้ภายใต้ลิงก์ต่อไปนี้: …


14
บันทึกอาร์เรย์ PHP ไปยัง MySQL หรือไม่
วิธีที่ดีในการบันทึกอาร์เรย์ของข้อมูลลงในฟิลด์ mysql เดียวคืออะไร? นอกจากนี้เมื่อฉันค้นหาอาร์เรย์นั้นในตาราง mysql วิธีที่ดีในการทำให้อาร์เรย์กลับมาอยู่ในรูปแบบอาร์เรย์คืออะไร? เป็นซีเรียลไลซ์และยกเลิกการเข้ารหัสคำตอบหรือไม่
88 php  mysql  arrays 

6
แบบอิงตามช่วงสำหรับการทำงานสำหรับอาร์เรย์ธรรมดาอย่างไร
ใน C ++ 11 คุณสามารถใช้การอ้างอิงตามช่วงforซึ่งทำหน้าที่เป็นforeachภาษาอื่น ๆ ใช้งานได้แม้กับอาร์เรย์ C ธรรมดา: int numbers[] = { 1, 2, 3, 4, 5 }; for (int& n : numbers) { n *= 2; } จะรู้ได้อย่างไรว่าเมื่อไรควรหยุด? ใช้ได้เฉพาะกับอาร์เรย์แบบคงที่ที่ได้รับการประกาศในขอบเขตเดียวกันกับforใช้หรือไม่? คุณจะใช้สิ่งนี้forกับอาร์เรย์แบบไดนามิกอย่างไร
88 c++  arrays  foreach  c++11 

10
การส่งอาร์เรย์เป็นอาร์กิวเมนต์ไปยังฟังก์ชันใน C
ฉันเขียนฟังก์ชันที่มีอาร์เรย์เป็นอาร์กิวเมนต์และเรียกใช้โดยการส่งผ่านค่าอาร์เรย์ดังนี้ void arraytest(int a[]) { // changed the array a a[0]=a[0]+a[1]; a[1]=a[0]-a[1]; a[0]=a[0]-a[1]; } void main() { int arr[]={1,2}; printf("%d \t %d",arr[0],arr[1]); arraytest(arr); printf("\n After calling fun arr contains: %d\t %d",arr[0],arr[1]); } สิ่งที่ฉันพบคือแม้ว่าฉันจะเรียกarraytest()ใช้ฟังก์ชันโดยการส่งผ่านค่า แต่สำเนาต้นฉบับint arr[]ก็เปลี่ยนไป คุณช่วยอธิบายได้ไหมว่าทำไม?

6
การสร้างอาร์เรย์จากไฟล์ข้อความใน Bash
สคริปต์ใช้เวลา URL ให้แยกมันสำหรับฟิลด์ที่จำเป็นและเปลี่ยนเส้นทางการส่งออกที่จะถูกบันทึกไว้ในไฟล์file.txt เอาต์พุตจะถูกบันทึกในบรรทัดใหม่ทุกครั้งที่พบฟิลด์ file.txt A Cat A Dog A Mouse etc... ฉันต้องการรับfile.txtและสร้างอาร์เรย์จากมันในสคริปต์ใหม่โดยที่ทุกบรรทัดจะเป็นตัวแปรสตริงของตัวเองในอาร์เรย์ จนถึงตอนนี้ฉันได้ลอง: #!/bin/bash filename=file.txt declare -a myArray myArray=(`cat "$filename"`) for (( i = 0 ; i < 9 ; i++)) do echo "Element [$i]: ${myArray[$i]}" done เมื่อฉันเรียกใช้สคริปต์นี้ช่องว่างจะส่งผลให้คำถูกแยกและแทนที่จะได้รับ เอาต์พุตที่ต้องการ Element [0]: A Cat Element [1]: A Dog etc... ฉันได้รับสิ่งนี้: …

2
จัดเก็บผลลัพธ์ของแบบสอบถามที่เลือกไว้ในอาร์เรย์เดียวใน postgres
รหัสของฉันคือ: SELECT column_name FROM information.SCHEMA.columns WHERE table_name = 'aean' aeanก็จะส่งกลับชื่อคอลัมน์ของตาราง ตอนนี้ฉันได้ประกาศอาร์เรย์แล้ว: DECLARE colnames text[] ฉันจะจัดเก็บเอาต์พุตของ Select ในอาร์เรย์ colnames ได้อย่างไร จำเป็นต้องเริ่มต้นชื่อ colnames หรือไม่?

3
ฉันจะแก้ไขอาร์เรย์ในขณะที่ทำซ้ำใน Ruby ได้อย่างไร
ฉันเพิ่งเรียนรู้ Ruby ดังนั้นขออภัยหากนี่เป็นมือใหม่เกินไปสำหรับที่นี่ แต่ฉันไม่สามารถหาข้อมูลนี้จากหนังสือพลั่วได้ (อาจจะอ่านไม่ละเอียดพอ) อย่างไรก็ตามถ้าฉันมีอาร์เรย์ดังนี้: arr = [1,2,3,4,5] ... และฉันอยากจะบอกว่าคูณแต่ละค่าในอาร์เรย์ด้วย 3 ฉันได้ทำสิ่งต่อไปนี้: arr.each {|item| item *= 3} ... จะไม่ได้รับสิ่งที่ฉันต้องการ (และฉันเข้าใจว่าทำไมฉันไม่ได้แก้ไขอาร์เรย์เอง) สิ่งที่ฉันไม่ได้รับคือวิธีแก้ไขอาร์เรย์เดิมจากในบล็อกโค้ดหลังจากตัววนซ้ำ ฉันมั่นใจว่านี่เป็นเรื่องง่ายมาก
88 ruby  arrays  iteration 

9
เข้าถึงคุณสมบัติของวัตถุที่ไม่ใช่ตัวเลขโดยดัชนี?
ถ้าฉันมีอาร์เรย์เช่นนี้: var arr = ['one','two','three']; ฉันสามารถเข้าถึงส่วนต่างๆได้โดยทำสิ่งนี้: console.log(arr[1]); ฉันจะเข้าถึงคุณสมบัติของอ็อบเจ็กต์ตามลำดับไม่ใช่ด้วยคีย์ได้อย่างไร ตัวอย่าง: var obj = { 'something' : 'awesome', 'evenmore' : 'crazy' }, jbo = { 'evenmore' : 'crazy', 'something' : 'awesome' }; ฉันจะได้รับคุณสมบัติแรกสำหรับแต่ละออบเจ็กต์ - "บางสิ่ง" จากobjและ "ยิ่งกว่านั้น" ได้อย่างไร - jboโดยไม่ใช้ชื่อคุณสมบัติอย่างชัดเจน ตอนนี้ดูเหมือนคุณไม่กี่คนจะคิดว่าฉันชอบ: console.log(obj['something']); นี่ไม่ใช่กรณีฉันต้องการกำหนดเป้าหมายดัชนีโดยเฉพาะเช่นเดียวกับตัวอย่างแรก - ถ้าเป็นไปได้

2
จะเริ่มต้นสมาชิกทั้งหมดของอาร์เรย์ให้มีค่าเดียวกันใน Swift ได้อย่างไร
ฉันมีอาร์เรย์ขนาดใหญ่ใน Swift ฉันต้องการเริ่มต้นสมาชิกทั้งหมดด้วยค่าเดียวกัน (เช่นอาจเป็นศูนย์หรือค่าอื่น ๆ ) แนวทางที่ดีที่สุดคืออะไร?

8
แปลงอาร์เรย์จำนวนเต็มเป็นสตริงอาร์เรย์ใน JavaScript
ฉันมีอาร์เรย์ดังนี้: var sphValues = [1, 2, 3, 4, 5]; จากนั้นฉันต้องแปลงอาร์เรย์ด้านบนเช่นด้านล่าง: var sphValues = ['1', '2', '3', '4', '5']; ฉันจะแปลงได้อย่างไร? ฉันใช้สิ่งนี้สำหรับการเติมข้อความอัตโนมัติ

7
เหตุใด Objects จึงไม่สามารถทำซ้ำได้ใน JavaScript
เหตุใดวัตถุจึงไม่สามารถทำซ้ำได้ตามค่าเริ่มต้น ฉันเห็นคำถามตลอดเวลาที่เกี่ยวข้องกับการวนซ้ำออบเจ็กต์วิธีแก้ปัญหาทั่วไปคือการวนซ้ำคุณสมบัติของอ็อบเจ็กต์และเข้าถึงค่าภายในอ็อบเจ็กต์ด้วยวิธีนั้น สิ่งนี้ดูธรรมดามากจนทำให้ฉันสงสัยว่าทำไมวัตถุต่างๆถึงไม่สามารถทำซ้ำได้ คำสั่งเช่น ES6 for...ofน่าใช้สำหรับวัตถุโดยค่าเริ่มต้น เนื่องจากคุณลักษณะเหล่านี้มีให้เฉพาะสำหรับ "อ็อบเจ็กต์ที่ทำซ้ำได้" แบบพิเศษซึ่งไม่รวมอ{}อบเจ็กต์เราจึงต้องผ่านห่วงเพื่อให้สามารถใช้งานกับวัตถุที่เราต้องการใช้ คำสั่ง for ... of สร้าง loop วนซ้ำบนวัตถุที่ทำซ้ำได้ (รวมถึง Array, Map, Set, วัตถุอาร์กิวเมนต์และอื่น ๆ ) ... ตัวอย่างเช่นการใช้ฟังก์ชันเครื่องกำเนิด ES6 : var example = {a: {e: 'one', f: 'two'}, b: {g: 'three'}, c: {h: 'four', i: 'five'}}; function* entries(obj) { for (let key of …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.