- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Tôi đã triển khai tính năng sắp xếp nhanh này nhưng dường như tôi có một lỗi mà tôi không thể sửa được, có ai phiền xem nhanh không?
Kết quả của ví dụ tôi đưa ra gần giống với câu trả lời, nhưng một số chỉ mục bị đặt sai vị trí.
phân vùng def (mảng, trục, bắt đầu, kết thúc):
# di chuyển trục về cuối
tạm thời = mảng [trục]
mảng[trục] = mảng[kết thúc]
mảng [kết thúc] = tạm thời
tôi = bắt đầu
j=cuối-1
trong khi(i < j):
# kiểm tra từ bên trái để tìm phần tử lớn hơn trục
while(i < j và mảng[end] > mảng[i]):
tôi = tôi + 1
# kiểm tra từ bên phải để tìm phần tử nhỏ hơn trục
while(i < j và mảng[end] < mảng[j]):
j=j-1
# nếu chúng ta tìm thấy một cặp phần tử bị đặt sai vị trí, hãy hoán đổi chúng
nếu(i < j):
tạm thời = mảng [i]
mảng[i] = mảng[j]
mảng[j] = tạm thời
# di chuyển phần tử trục tới vị trí của nó
tạm thời = mảng [i]
mảng[i] = mảng[end]
mảng [kết thúc] = tạm thời
# quay lại vị trí xoay
trả lại tôi
def quicksort_helper(mảng, bắt đầu, kết thúc):
nếu (bắt đầu < kết thúc):
trục = (bắt đầu + kết thúc) / 2
r = phân vùng (mảng, trục, bắt đầu, kết thúc)
quicksort_helper(mảng, bắt đầu, r - 1)
quicksort_helper(mảng, r + 1, end)
def quicksort(mảng):
quicksort_helper(mảng, 0, len(mảng) - 1)
mảng = [6, 0, 5, 1, 3, 4, -1, 10, 2, 7, 8, 9]
sắp xếp nhanh (mảng)
mảng in
Tôi cảm thấy câu trả lời là hiển nhiên, nhưng tôi không thể tìm thấy nó.
Đầu ra mong muốn:
[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Sản lượng thực tế:
[-1, 0, 2, 3, 1, 4, 5, 6, 7, 8, 9, 10]
câu trả lời hay nhất
Cách sửa lỗi chính là nội bộ while
vòng lặp, nơi bạn có thể sử dụng Tôi Và j gần nhau. Logic bạn đã đăng sẽ ổn nếu bạn chỉ lo lắng về việc hoán đổi các phần tử không xoay chính xác. Tuy nhiên, vòng lặp đầu tiên yêu cầu
while(i <= j và mảng[end] > mảng[i]):
tôi = tôi + 1
确保 Tôi Có giá trị chính xác để hoán đổi phần tử trụ về giữa. Nếu không, bạn có thể hoán đổi nó sang một phần tử ở bên trái của vị trí thích hợp, đó là lý do tại sao việc sắp xếp không thành công.
Bạn cũng có thể sử dụng phép gán nhiều lần của Python để thực hiện các trao đổi rõ ràng hơn:
trong khi(i < j):
# kiểm tra từ bên trái để tìm phần tử lớn hơn trục
while(i <= j và mảng[end] > mảng[i]):
tôi = tôi + 1
# kiểm tra từ bên phải để tìm phần tử nhỏ hơn trục
while(i < j và mảng[end] < mảng[j]):
j=j-1
# nếu chúng ta tìm thấy một cặp phần tử bị đặt sai vị trí, hãy hoán đổi chúng
nếu(i < j):
mảng[i], mảng[j] = mảng[j], mảng[i]
Về thuật toán - Gỡ lỗi sắp xếp nhanh Python, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/45722995/
Tôi đã mất trí đêm qua về vấn đề này. Sau khi đảm bảo rằng không có lỗi rõ ràng nào xảy ra khi tự kiểm tra lỗi nhật thực, tôi bắt đầu gỡ lỗi chương trình của mình. Nhân tiện, tôi đang sử dụng Jre7. Dù sao đi nữa, mỗi lần tôi bước vào lớp gọi (hãy gọi nó là "a"
(Lời nói đầu: Tôi khá mới với C/C++ và tôi thực sự không biết cách gỡ lỗi trong mã gốc thực sự hoạt động như thế nào.) Một số nguồn nói rằng gdb và lldb có thể gỡ lỗi bất kỳ chương trình nào được biên dịch sang ma
Tôi đang cố gắng gỡ lỗi gói Nuget T4Scaffolding.Core từ bên ngoài Visual Studio 2012. Tôi đang sử dụng Powershell ISE có cài đặt Powershell 3.0 và
Làm cách nào để gỡ lỗi mã lắp ráp? Tôi đang sử dụng gdb trên Linux. Tôi biết tôi có thể nhìn vào sổ đăng ký. Một số cách để gỡ lỗi mã lắp ráp là gì? Câu trả lời hay nhất Tất nhiên bạn có thể sử dụng điểm dừng giống như C hoặc bất kỳ ngôn ngữ được biên dịch nào khác. cái này
Cách in nội dung của một danh sách hoặc haskell trên mỗi cuộc gọi, ví dụ: funct a list = funct(a + 1) (a :list) print list her
Hãy để tôi mở đầu câu hỏi này bằng một nhận xét mà tôi biết rất ít về Makefiles hoặc make. Có một dự án rất lớn được xây dựng tự động mỗi đêm. Nó được xây dựng ở chế độ Gỡ lỗi và Phát hành, Gỡ lỗi cho Valgrind
Tôi đang tạo một chương trình tính toán lương hàng tuần sao cho bất kỳ khoản lương cộng thêm nào đều gấp 1,5 lần mức lương thông thường cho tuần đó. Mã của tôi như sau: #include int main() { double payrate double h;
Tôi đang sử dụng phiên bản Visual Studio 2010 Express Developer. Phát triển trang web. Tôi đang sử dụng JavaScript trong các trang .aspx của mình. Cách đặt điểm dừng trong Javascript
Gần đây tôi đã bắt đầu mày mò các vấn đề của Project Euler và cố gắng giải quyết chúng bằng Javascript. Tôi có xu hướng tạo ra nhiều vòng lặp vô hạn khi thực hiện việc này và bây giờ tôi tự hỏi liệu có điều gì tốt hơn việc tắt tab trong Firefox hoặc Chrome không
Có cách nào để tạo bảng điều khiển python tương tác (tốt nhất là iPython) trong khi thực hiện chương trình mà không tạm dừng chương trình chính và có thể kiểm tra cũng như sửa đổi các biến của chương trình không? Tương tự như những gì trình duyệt cung cấp cho JavaScript. Tôi biết pdb.se
Tôi đang sử dụng FFmpeg @ Android và muốn có thể truy cập mã FFmpeg (Eclipse + Seqouya) trong khi biên dịch FFmpeg, tôi sử dụng --disable-stripping --en
Tôi nhận được một ngoại lệ từ quy trình .net gọi hàm api win32 bằng cách sử dụng interop. Tôi có trình gỡ lỗi và tôi muốn xem giá trị của LastError. Có thể xem LastEr từ trình gỡ lỗi Visual Studio
Tôi đang cố gắng tạo macro qua VBA để mở một nhóm liên kết được chỉ định trong nhiều tab trong IE. Hiện tại tôi đang sử dụng mã bên dưới và nó hoạt động hầu hết thời gian nếu tôi cố mở 3 tab trở xuống. Bất kỳ mã nào trên 3 sẽ kết thúc bằng "N
Được rồi, đây có vẻ là một câu hỏi ngớ ngẩn vì MonoDevelop ngày càng hoàn thiện hơn nên tôi chắc chắn rằng tôi chỉ nhớ nó, nhưng tôi đã xem xét xung quanh và tất cả các câu hỏi về chủ đề này dường như là về gỡ lỗi từ xa hoặc gỡ lỗi trên máy Mac. Tôi đang sử dụng Ubuntu
Làm cách nào để gỡ lỗi Rscript đang chạy từ dòng lệnh? Tôi hiện đang sử dụng getopt để chuyển các tùy chọn dòng lệnh cho một gói và khi có lỗi, tôi gặp khó khăn: xem điều gì đang xảy ra; gỡ lỗi tương tác trong R (vì tập lệnh yêu cầu các tùy chọn dòng lệnh.) Có ai không? có cái này không?
Hỗ trợ PDF và ít thông tin trên web. Tôi tình cờ thấy một bài viết trên blog có đề cập rằng $.write() hoặc $.writeln() sẽ ghi một chuỗi vào bảng điều khiển javascript. Khá hữu ích. Có ai biết vật $ này là gì không
Tính năng gỡ lỗi JavaScript có được Firefox và Chrome hỗ trợ trong PyCharm 1.5 không? Nếu vậy, nó có chạy hiệu quả với trình gỡ lỗi Python/Django không? Nếu không thì có
Tôi chắc chắn rằng điều này đã từng xảy ra với mọi người trước đây, có điều gì đó đã hoạt động ở chế độ Gỡ lỗi và bạn đã biên dịch khi phát hành, nhưng đã xảy ra sự cố. Điều này xảy ra với tôi khi tôi đang làm việc trong môi trường nhúng XP và tôi thấy rằng cách tốt nhất thực sự là viết một tệp nhật ký để xác định xem nó sai ở đâu. Bạn
Tôi hiện đang đánh giá Flow3 cho một dự án sắp tới. Mẫu AOP và nội xạ phụ thuộc sẽ hoàn toàn phù hợp với mục đích của chúng tôi. Bây giờ điều tôi không thể tìm ra là cách gỡ lỗi một số kết quả trong Hành động điều khiển. công cộng
Ban đầu, tôi có ứng dụng Django chứa máy chủ thử nghiệm. Để gỡ lỗi thiết lập này, tôi chỉ cần thêm import pdb; set_trace() vào bất kỳ đâu trong mã của mình và có một điểm dừng đưa tôi vào trình gỡ lỗi tương tác trong thiết bị đầu cuối (
Tôi là một lập trình viên xuất sắc, rất giỏi!