01/10/2018, 11:50
Sắp xếp tên và họ khi có tên đã đc sắp xếp
mình đã nghĩ ra ý tưởng rồi là viết 1 hàm trả về những giá trị đầu và cuối của chuỗi tên giống nhau VD: anh anh anh dung dung dung tam tam (thì lấy i = 0 và n = 2 // i kế = 3 và n = 4 // i kế = 5 và n = 6) nhưng ko biết làm cách nào để trả về 2 giá trị.
Bài liên quan
Mình không hiểu ý bạn lắm. Bạn có input, output mẫu không?
Họ Tên của người việt nam thì sắp xếp ban đầu là
Tên
sau đó phần họ thì cứ theo thứ tự alphabet thôi.Thiết kế hàm sort phần họ là được rồi, cái này còn depends trên ngôn ngữ nhưng phần lớn là áp dụng được
char
, so sánh thôi.nếu dùng làm 1 hàm sắp xếp họ mà chưa giới hạn những tên giống nhau thì nó sẽ sắp xếp cả những tên ko giống nhau nữa vì nó đi từ đầu mảng đến cuối mảng.ý mình là phải giới hạn với i bắt đầu cho tên giống nhau và g là tên giống nhau cuối cùng.
làm ra giấy rồi ko hiểu sao nó vẫn ko thay đổi gì chẳng biết tại sao
Tùy ngôn ngữ, tạo struct/tuple hai giá trị là xong.
Mà sắp xếp theo tên (đã làm) là bạn xếp hay ai xếp?
tên là mình đã sắp xếp rồi bạn.
bạn có class bạn có trường tên và trường họ đệm thì bạn so sánh tên thôi còn phần sau nó sẽ tự đông nối vào ví dụ dùng toString để show ra chả hạn trong java thì bạn cho kế thừa cái icomparable là xong .khi bạn có list danh sách thì gọi nó ra nó tự xếp thế thôi
Không, ý mình nói là dưới góc nhìn của hàm đó.
Nếu bạn kiểm soát cả hai lượt (một lần theo tên & theo họ) thì sẽ mở ra một lựa chọn nữa là làm một lần. Và nếu bạn vẫn còn dùng selection [sic] thì nên làm hai lượt.
có thể giải thích rõ hơn ko chứ mình nghĩ đơn giản thôi chẳng cao siêu gì đâu 1 1 1 2 2 i chạy từ 0 chạy đến đâu ko còn tên giống nhau thì dừng g >> khoảng cách từ i > g là khoảng cách những chữ giống nhau truyền input vào cho nó sắp xếp xong break chỉnh sữa sao cho i kế tiếp chạy ở chữ giống nhau kế tiếp rồi so sánh cứ thế đến khi hết mảng.nhưng ko hiểu sao nó vẫn bị gì đó mà nó vẫn ko sắp xếp
như này này
Đọc câu liền tù tì không có phẩy chấm gì mệt quá Mà mình vẫn chưa hiểu bạn làm gì với code của bạn.
Tốt nhất là viết hàm so sánh cả họ và tên luôn.
Đại khái code như thế, còn cụ thể như thế nào thì bạn phải tuỳ chỉnh. Đừng bê nguyên code mình vào rồi lại lên đây kêu compile error.
cảm ơn bạn kết quả thì đúng nhưng cho mình hỏi sao code của mình lại ko đc,ý tưởng đúng thế còn gì
VD:
Tran Thanh 0
Nam Thanh 1
Binh Thanh 2
Anh Thanh 3
Vu Sinh 4
Anh Sinh 5
Van Vinh 6
Anh Vinh 7
ý mình là tên đã đc sắp xếp,code trên của mình là cho i chạy từ 0 so sánh với j = nhau thì tăng g lên khi j = 4 tức là chuỗi so sánh đã ko còn giống nhau dừng g lại tức g = 3 >> 0 đến 3 là chuỗi cần phải sắp xếp họ,sắp xong khúc đó thì break i = g vì khi thoát khỏi hàm i sẽ = 4 thì nó sẽ dừng ở tên giống nhau kế ( VInh) g++ vì nó phải = với khoảng cách khi kết thúc tên giống nhau.
Thực tình là mình chẳng hiểu bạn nói gì không chấm, không phẩy, viết dài ngoằng ngoằng nhưng chẳng rõ ràng gì cả.
Ý tưởng đúng nhưng để thành code đúng thì còn xa lắm… Mà thuật của bạn còn khá phức tạp nữa. Để 1 thuật phức tạp như vậy thành code chính xác thì (chắc là) còn lâu.