#15 [C++]. Cấu Trúc Dữ Liệu Set Trong C++ | Multiset | Unordered_set

  Рет қаралды 96,773

28tech

28tech

Күн бұрын

Пікірлер: 234
@invisibledude7783
@invisibledude7783 Жыл бұрын
Lưu ý: trong 3 cách duyệt set, map và vector, thì chỉ duyệt được bằng iterator với các phiên bản C++ thấp hơn C++11, vậy nên khi sử dụng để đi thi (cấp trường, cấp huyện với các bạn học sinh) thì nên dùng iterator cho an toàn (vì một số phần mềm chấm cũ chỉ chấm đươc C++ chứ C++11 trở lên thì không), hoặc sẽ bị compilation error và bài nộp sẽ không được chấm
@DaThuFlorida
@DaThuFlorida Жыл бұрын
Mình nghĩ đấy là lỗi do sở không chịu cập nhật trình chấm chứ code hợp lí thì phải chấp nhận chứ không thể giới hạn kiến thức được, nếu vậy thì sở phải quy định phiên bản ngôn ngữ lập trình tương ứng với trình chấm.
@invisibledude7783
@invisibledude7783 Жыл бұрын
@@DaThuFlorida Tất nhiên, khi thi tỉnh hay quốc gia thì sở đều cho chấm bằng C++14 trở lên nên đó không là vấn đề. Mình chỉ nói về việc thi cấp huyện hay thi khảo sát của trường, nhiều thầy cô giáo vẫn sử dụng C++ thường, không nâng cấp dẫn đến một số lỗi chương trình và không chấm được.
@nguyennhuttruong8011
@nguyennhuttruong8011 Жыл бұрын
cho e hỏi còn for each để duyệt thay vì iterator được khong ạ! ( em đã từng code auto themis chấm lỗi biên dịch )
@Nuc-ny4bz
@Nuc-ny4bz 8 ай бұрын
Anh ơi nếu muốn in ra một phần tử bất kì trong set phải làm sao ạ
@nguyenhoa5409
@nguyenhoa5409 3 жыл бұрын
nếu mà dùng for each để nhập các phần tử cho mảng thì phải thêm dấu & tham chiếu à anh
@28tech_
@28tech_ 3 жыл бұрын
uh đúng rồi.
@28tech_
@28tech_ 2 жыл бұрын
Thông tin các khóa học mình đang hướng dẫn : 28tech.com.vn/
@giapluu8941
@giapluu8941 2 жыл бұрын
anh ơi cho em hỏi là ở dòng lệnh 30(phút 27:23) tại sao i lại bắt đầu từ k được k ạ, em đang vướng ở đây cả tiếng:(((( mong anh rep ạ
@trantrung161
@trantrung161 2 жыл бұрын
Anh cho em hỏi từ phút 26:32 đến phút 28:24 vì sao vậy ạ, anh giải thích kĩ hơn chút được không ạ? Em cảm ơn.
@28tech_
@28tech_ 2 жыл бұрын
Phần này a giải thích rất kỹ rồi đó, có thể em hổng kiến thức về string ah
@trantrung161
@trantrung161 2 жыл бұрын
@@28tech_ Vâng em đang coi anh giải bài tập mảng mà lại thấy xuất hiện cách giải bằng set với map nên em xuống học set với map, nên em vẫn chưa coi được string ạ. Em coi theo thứ tự trong list ạ.
@danhaoxuan7422
@danhaoxuan7422 5 ай бұрын
anh ra clip giải thích thêm về iterator được không ạ
@28tech_
@28tech_ 5 ай бұрын
Em xem ở video vector sẽ dễ hơn
@caohuy1922
@caohuy1922 Жыл бұрын
à thì có mấy bạn hỏi tại sao i = k ở đoạn sau phần sau của bài toán maximum sliding windown vòng for dòng 31 thì em xin giải thích như sau ạ ( tại em mới năm nhất):vòng for đầu tiên sẽ tạo khuôn cho cửa sổ có độ dài k cùng như tạo cửa sổ khuôn mẫu , dòng 32 thì mình sẽ in ra phần tử cuối cùng(lớn nhất) trong cửa sổ có độ dài k vì set đã sắp xếp tăng dần ví dụ 1 2 3 thì in ra số 3, ở dòng 33 thì mình sẽ xóa phần tử đầu tiên trong multiset ms đi dựa vào interator của hàm find và index k ví dụ k=3 thì sẽ xóa phần tử ms có giá trị a[k-i] là a[3-3] = a[0] = 1(ở đây giống như xóa 1 phần tử nhỏ nhất trong ms) sau đó chèn thêm thêm phần tử a[i] = 1 vào trong multiset ms thì ms hiện tại sẽ là 1 2 3 mục đích của 2 dòng 31,32,33(đoạn for thứ 2) sẽ là in ra số lớn nhất trong cửa sổ khi đã đủ bộ số,sau đó xóa đi phần tử nhỏ nhất và thêm phần tử mới tử mảng a dựa vào index vào cho cửa sổ có độ dài k cho vòng lặp tiếp theo để in ra số lớn nhất tiếp theo, cứ thế lặp đến hết. - một cái nhỏ nữa em viết không biết đúng không tại em có code ra giấy thì dòng 35 là để in số lớn nhất trong bộ số cuối cùng em sẽ nói ví dụ trong mảng của anh nhé , khi i = 9 thì sẽ cout
@Vu205-r3r
@Vu205-r3r Жыл бұрын
nhưng ô ơi, cái ms.insert(a[i]) sau đó thì chèn vào đâu vậy ô, ví dụ 1 2 3 , sau khi tìm đc 3 do set sắp xếp theo thứ tự lớn ở cuối thì sẽ xóa 1 đi ( erase), sau đó thêm 1 tại a[3] vào trước hay sau vậy ô
@KhaiChangretta
@KhaiChangretta Жыл бұрын
@@Vu205-r3r khi bạn lưu một phần tử mới vào set thì nó sẽ tự động sắp xếp rồi nhé
@Vu205-r3r
@Vu205-r3r Жыл бұрын
oke thanks bạn@@KhaiChangretta
@annguyenhuu9859
@annguyenhuu9859 Жыл бұрын
@@KhaiChangretta a có thể cho e hỏi 1 chút tại sao lại viết ms.erase(ms.find(a[i-k]) mà k viết ms.erase(a[i-k]) vậy ạ
@KhaiChangretta
@KhaiChangretta Жыл бұрын
​ @annguyenhuu9859 bạn hỏi mình hả ? mình nghĩ là tại vì trong cái khung cửa sổ k phần tử ấy, bạn muốn xóa phần tử đầu tiên đúng không, thì bạn truyền vào cái phần tử đâu tiên là a[i - k], tuy nhiên vì đây là multiset, nên nó chấp nhận các phần tử bằng nhau, do đó nếu trong khung cửa số k đấy mà bạn truyền vào a[i - k] thì biết đâu có phần tử khác bằng a[i - k] nên nó xóa cả phần tử đó thì sao ? nên phải truyền hàm find vào (vì hàm find trả về iter trỏ tới địa chỉ của phần tử đầu tiên bằng với đối số truyền vào), từ đó sử dụng địa chỉ đó để xóa phần tử đầu tiên.
@quanohong7393
@quanohong7393 3 жыл бұрын
dùng set ko thể cout
@28tech_
@28tech_ 3 жыл бұрын
Ko nhé, vì set ko lưu các phần tử theo thứ tự kiểu đó.
@andanh-fs1fe
@andanh-fs1fe 6 ай бұрын
anh ơi tại sao đã gắn i vào set r mà tí xuất ra lại phải dùng hàm for nữa ạ
@nguyenhoa5409
@nguyenhoa5409 3 жыл бұрын
cái chỗ 23:33 anh bảo nếu muốn xóa 1 phần tử trong multi set mà ko muốn nó xóa cả nhưng cái trùng nhau thì dùng interator nhưng mà cú pháp lệnh như thế nào anh ơi
@28tech_
@28tech_ 3 жыл бұрын
Ví dụ em muốn xóa 5, thì đầu tiên e phải tìm được iterator trỏ tới 5 trong multiset, auto it = ms.find(5); sau đó ms.erase(it);
@truyensieuhay1886
@truyensieuhay1886 3 жыл бұрын
anh làm thêm 1 2 bài ví dụ để áp dụng đươqj không ạ
@28tech_
@28tech_ 3 жыл бұрын
Mình để phần bt ở dưới ý. b làm thử có vướng mắc thì hỏi nhé
@kinhkong69z62
@kinhkong69z62 2 жыл бұрын
a giải đề hsg quốc gia đi anh
@duonganhtuan3641
@duonganhtuan3641 2 жыл бұрын
a làm về segment tree đi a
@28tech_
@28tech_ 2 жыл бұрын
Làm cái này vất vả mà ít người quan tâm lắm em. Mặc dù nó rất hay.
@trichau9569
@trichau9569 Жыл бұрын
26:13 sao phải khai báo &x vậy ạ
@ms5musicsctv978
@ms5musicsctv978 2 жыл бұрын
in ra phần tử thứ k trong set thì làm kiểu gì ạ, em rất thắc mắc mong anh rep, cám ơn a nhiều.
@28tech_
@28tech_ 2 жыл бұрын
Gọi set là s. k là stt phần tử em muốn in ra. thì đây là cách in ra phần tử thứ k trong set. trong trường hợp này là phần tử nhỏ thứ k. cout
@levanphong4275
@levanphong4275 3 жыл бұрын
Cái đoạn cuối anh nói về thuật toán minimun kill gì vậy ạ,a có video về thuật đấy k ạ
@28tech_
@28tech_ 3 жыл бұрын
Nó gọi là minimum queue, dùng để truy vấn phần tử nhỏ nhất trên 1 đoạn của mảng, bạn tìm minimum queue cp algorithm là nó ra. Mấy nữa tới phần stack vs queue mình mới nói tới nó.
@levanphong4275
@levanphong4275 3 жыл бұрын
@@28tech_ anh cho e hỏi là video bên chuỗi string ý đoạn tách em viết while(getline(ss,tmp,"abcd")) sao k đc nhỉ a
@KhoiNguyen-h8p
@KhoiNguyen-h8p 6 ай бұрын
anh ơi sao em chạy mấy cái for each hay ms.begin()hay end là nó báo lỗi mong anh rep
@mkietdz9551
@mkietdz9551 2 жыл бұрын
anh cho em hỏi phút thứ 28:00 giả sử mảng là 1 4 4 3 xét 3 phần tử thì nếu dùng lệnh xóa đó em nghĩ lần 2 nó sẽ xuất ra 3 thay vì 4 hay sao anh
@Touhoubu
@Touhoubu Жыл бұрын
1 4 4 ra 4. 4 4 3 thi van ra 4 vi no la sap xep tang dan ma :)
@abcsde-vp7vg
@abcsde-vp7vg 3 жыл бұрын
hay
@danhphanehe1655
@danhphanehe1655 2 жыл бұрын
16:46
@thangnguyen3786
@thangnguyen3786 2 жыл бұрын
Giúp mình giải thích đoạn khai bảo mảng động n phần tử (int a[n]) mà không cần cấp phát không ạ
@lenguyet5017
@lenguyet5017 2 жыл бұрын
cho em hỏi ở phút 28:44 hàng 32 mình có thể bỏ ms.find chỉ còn ms.erase(a[ i - k ]); được không ạ ? em test thì thấy nó được. anh giải thích giúp em với ạ
@28tech_
@28tech_ 2 жыл бұрын
Không được, vì nó sẽ xoá theo giá trị hết những phần tử có cùng giá trị là a(i-k). Phải xoá thông qua iterator
@phantrungkien3049
@phantrungkien3049 3 жыл бұрын
hay quá a ơi
@28tech_
@28tech_ 3 жыл бұрын
Ok thank em đã ủng hộ nhá.
@danhyoyo9755
@danhyoyo9755 Жыл бұрын
mình có thể truy cập đến các phần tử trong set để tính toán hay so sánh ko anh. vd như dùng set để làm mảng cộng dồn chẳng hạn
@28tech_
@28tech_ Жыл бұрын
Ko em ơi. Vì set nó ko lưu theo chỉ số
@danhyoyo9755
@danhyoyo9755 Жыл бұрын
cảm ơn anh
@hobinh8744
@hobinh8744 2 жыл бұрын
a ơi cho em hỏi 25:57 anh nói cái gì tiếng anh ấy, em nghe không rõ, anh có thể nào ghi ra giúp em với được không
@28tech_
@28tech_ 2 жыл бұрын
minimum queue em nhé. cp-algorithms.com/data_structures/stack_queue_modification.html
@32.havanphuong92
@32.havanphuong92 2 жыл бұрын
a ơi a có khóa học giá bao nhiêu vậy ạ, có khóa học từ đầu không ạ
@28tech_
@28tech_ 2 жыл бұрын
Em tham khảo tất cả ở đây nha 28tech.com.vn/
@dianadev1702
@dianadev1702 2 жыл бұрын
Em có thể duyệt set như sau được không anh : set s ; for(int i =0 ;i
@28tech_
@28tech_ 2 жыл бұрын
Không được, set có lưu thông qua chỉ số đâu mà.
@KhanhNguyen-eg6vo
@KhanhNguyen-eg6vo 2 жыл бұрын
anh ơi cho em hỏi, em có 1 struct trong đó có biến bool (bX), em muốn tìm phần tử mà biến bool đấy bằng true thì như thế nào ạ, bên c# có anonymus method không biết c++ có dùng đc không ạ
@28tech_
@28tech_ 2 жыл бұрын
Này thì e duyệt tuần tự và tìm kiếm thôi
@KhanhNguyen-eg6vo
@KhanhNguyen-eg6vo 2 жыл бұрын
@@28tech_ em cảm ơn ạ
@haidangnguyenquy1848
@haidangnguyenquy1848 2 жыл бұрын
Cho em hỏi sắp xếp mảng (các ptu ko trùng nhau) dùng Set có được ko, và nó có hiệu quả hơn các thuật toán sắp xếp ko ạ
@28tech_
@28tech_ 2 жыл бұрын
Thường thì a sẽ dùng mảng và thuật toán sort.
@tuquachduy7750
@tuquachduy7750 Жыл бұрын
anh ơi chỗ 28:45 tại sao cout
@28tech_
@28tech_ Жыл бұрын
Nó là iterator trỏ đến phần tử cuối trong set mà nên nó là số lớn nhất nhé
@bbnakroth3018
@bbnakroth3018 Жыл бұрын
a ơi đoạn 28:07 tại sao cout
@28tech_
@28tech_ Жыл бұрын
Vì rbegin là iterator trỏ đến phần tử cuối cùng trong set
@thuythai2998
@thuythai2998 5 ай бұрын
Ai chỉ giúp m file bài tập chỗ nào với? m tìm k thấy nhỉ, m cảm ơn ạ!
@Alahaha189
@Alahaha189 3 жыл бұрын
thanks anh :v
@ThếNguyễn-r3l
@ThếNguyễn-r3l Жыл бұрын
anh ơi cho e hỏi nếu mình muốn in ra một mảng bắt đầu từ phần tử thứ l đến m thì làm như nào ạ
@loitaiemvn9738
@loitaiemvn9738 Жыл бұрын
6:22
@thaison3684
@thaison3684 Жыл бұрын
a ơi cho em hỏi cái set với cái map này hay dùng trong hashTable phải không ạ
@28tech_
@28tech_ Жыл бұрын
map là hash table, còn set nó là binary search tree em nhé.
@thaison3684
@thaison3684 Жыл бұрын
@@28tech_em cảm ơn e học phần này ở java nó có hashmap với hashset nên e hơi lú
@nguyenphamhoangle4458
@nguyenphamhoangle4458 2 жыл бұрын
cho em hỏi tại 13:07 tại sao mk phải ghi là *s.begin() mà không phải là s.begin() ạ? Khi em ghi s.begin() thì bị báo lỗi.
@28tech_
@28tech_ 2 жыл бұрын
S.begin nó là iterator trỏ tới thằng đầu tiên, em muốn truy cập phải giải tham chiếu nó nhé
@phomhoang2948
@phomhoang2948 3 жыл бұрын
có nên học hết c++ k a, em đang định chuyển sang java để lập trình mobile !!
@28tech_
@28tech_ 3 жыл бұрын
Nếu thấy mình lập trình ok rồi thì chuyển. Chứ đừng mỗi thứ biết 1 tí là được.
@huynguyenhoang3460
@huynguyenhoang3460 3 жыл бұрын
a ơi cho e hỏi phút 28:02 a[i-k] nghĩa là gì ạ
@28tech_
@28tech_ 3 жыл бұрын
Đấy là phần tử bị loại bỏ ra khỏi cửa sổ cỡ k e ạ
@hieuvu8544
@hieuvu8544 Жыл бұрын
anh ơi phút thứ 26:20 sao lại dùng for(int &x : a) mà không phải là for(int x : a) vậy ạ
@chtholly1625
@chtholly1625 Жыл бұрын
for (int x:a) nó chỉ là giá trị ảo của x cho a (tham trị ) như truyền tham trị cho hàm "k tác động tới giá trị mãng " mà mục đích xài để nhập "thay đổi giá trị" k phải "duyệt" thì phải tham chiếu &x:a thì mọi can thiệp giá trị của x đều tác động giá trị a theo đúng for each
@28tech_
@28tech_ Жыл бұрын
range based for loop nếu em cần thay đổi giá trị của x trong for thì thêm &, ko cần thay đổi (ví dụ như duyệt) thì ko cần &
@nammai3783
@nammai3783 2 жыл бұрын
cho em hỏi lập trình hướng đối tượng là phải sử dụng kiến thức c++ à anh, nó có giống như c++ ko ạ
@28tech_
@28tech_ 2 жыл бұрын
Hdt thì e dùng ngôn ngữ nào cũng được java học cũng được
@beatbacninh
@beatbacninh 2 жыл бұрын
thường thì trong các trường đại học thì C++ là ngôn ngữ có hướng đối tượng đầu tiên mà chúng ta động đến. sau đó là java sẽ thuần đối tượng. C++ kết hợp cả lập trình hướng thủ tục lẫn lập trình hướng đối tượng. có đúng thế k nhỉ a Lộc
@SangNguyen-kr7qj
@SangNguyen-kr7qj 3 жыл бұрын
anh ơi phần for(auto..) xem ở video nào vậy ạ
@28tech_
@28tech_ 3 жыл бұрын
Em có thể xem ở phần đầu tiên mà a hướng dẫn là mảng 1 chiều, nhưng mà lí thuyết nó cũng chỉ có thể thôi nên ko phải xem lại đâu.
@HieuNguyen-lj5ss
@HieuNguyen-lj5ss 2 жыл бұрын
dùng kiểu struct cho set được không anh
@28tech_
@28tech_ 2 жыл бұрын
em phải nạp chồng toán tử != để set nó còn biết cách phân biệt giữa 2 struct là ok.
@huyletan6626
@huyletan6626 2 жыл бұрын
muốn in ra các phần tử của set theo thứ tự ngược lại thì làm sao v anh
@28tech_
@28tech_ 2 жыл бұрын
Em duyệt bằng iterator rbegin, rend. for(auto it = se.rbegin(); it != se.rend(); ++it) cout
@huyletan6626
@huyletan6626 2 жыл бұрын
@@28tech_ em cảm ơn ạ
@luongtran4077
@luongtran4077 Жыл бұрын
@@28tech_ Dạ anh ơi em chưa hiểu lắm tại sao ++it mà ko phải là - - it ạ?
@luphiniii
@luphiniii Жыл бұрын
@@luongtran4077 mình nói nôm na nên b đừng bắt lỗi nha:D vì nó sẽ duyệt các cái phần từ đối xứng kiểu ngược lại á bạn vd bạn có 1 cái set 0 1 2 3 4 5 6 7 8 9 thì khi nó duyệt qua số 0 thì nó sẽ in số 9 do 9 ngược với 0 trong cái set kia(do rbegin là ngược với begin á) xong nó duyệt lên số 1 thì nó in số 8 rồi 7 6 5 4 3 2 1 nên là it++
@dqhuy3862
@dqhuy3862 Жыл бұрын
set có hiệu quả ntn trong lập trình v anh khi mà nó ko truy cập được vào từng phần tử v (em mới bắt đầu học)
@28tech_
@28tech_ Жыл бұрын
Tìm kiếm nhanh, loại bỏ trùng, thêm cũng nhanh nữa. Thế là hiệu quả rồi em, giờ em bắt nó truy cập được như mảng nữa thì nó bá đạo ah :D
@thuhuynh2968
@thuhuynh2968 Жыл бұрын
ngày xưa anh mất bao lâu để thành thạo C++ ạ
@28tech_
@28tech_ Жыл бұрын
Tầm 5 tháng em ạ
@nguyenhung9233
@nguyenhung9233 Жыл бұрын
for(int &x : a){ cin >>x; anh ơi cái &x là sao v anh mong a giải đáp giúp e với
@L1-42-ĐứcTrí
@L1-42-ĐứcTrí Жыл бұрын
Tham chiếu & được sử dụng để truy cập và thay đổi trực tiếp giá trị của phần tử trong mảng . sau đó nhập x . mà x là tham chiếu nên bất kỳ thay đổi nào của x sẽ thay đổi phần tử ở vị trí tương ứng trong mảng a
@phuan462
@phuan462 9 ай бұрын
s.begin() s.end() mk chỉ dùng được khi gọi mấy cái dữ liệu như vector, set, map hả anh?
@28tech_
@28tech_ 9 ай бұрын
Uh đúng rồi em nó dùng cho các container
@nhavan1432
@nhavan1432 Жыл бұрын
set này cx đc coi là mảng hả mn. Tại vì trong phần multiset có btap: Cho mảng có n phần tử.... ý ạh
@cambinh5090
@cambinh5090 Жыл бұрын
Khác mảng bạn nhé. Mặc dù trong ms có n phần tử nhưng cách truy vấn các phần tử trong ms khác hoàn toàn so vs dùng index như của mảng
@anhthe2739
@anhthe2739 3 жыл бұрын
Cho em hỏi là anh tập gõ 10 ngón lâu không ạ em tập mãi vẫn chưa quen
@28tech_
@28tech_ 3 жыл бұрын
Anh tập trong khoảng hơn 2 tháng 1 tý.
@anhthe2739
@anhthe2739 3 жыл бұрын
@@28tech_ Em không dùng được for(auto x:v) Chương trình báo [Error] range-based 'for' loops are not allowed in C++98 mode Thì em phải làm sao anh
@hungnguyenvan9076
@hungnguyenvan9076 3 жыл бұрын
Anh cho em hỏi thay trong muntiset thì làm ntn ạ hay vẫn qua iterator ạ
@28tech_
@28tech_ 3 жыл бұрын
Đúng rồi thông qua iterator nhé e.
@hungnguyenvan9076
@hungnguyenvan9076 3 жыл бұрын
@@28tech_ em cảm ơn anh nhớ
@vinhuc7057
@vinhuc7057 2 жыл бұрын
anh ơi trg lúc xem em thấy anh bô đen dòng code nào đó xg anh bấm phím tắt nào mà biến cái dòng bôi đen thành dòng comment vậy anh
@28tech_
@28tech_ 2 жыл бұрын
ctrl + / em nhé
@luongtran4077
@luongtran4077 5 ай бұрын
Anh ơi làm sao khi gõ dấu chấm thì lại hiện lên code gợi ý vậy anh, cái DevC của em khi chấm nó không có hiện
@28tech_
@28tech_ 5 ай бұрын
Thường thì anh cũng ko bao h dùng gợi ya
@thienluong7786
@thienluong7786 8 ай бұрын
anh cho em hỏi phần for( int x : s ) em thử nhiều cách mà nó toàn báo lỗi gì mà trình biên dịch c++98
@nobiku918
@nobiku918 8 ай бұрын
nếu bạn dùng devC thì bạn vào tools -> compiler options -> nhập -std=c++11 vào ô trắng đầu tiên (Add the ... compiler) rồi bật nó lên xong OK là được
@NguyenTuan-pu7ye
@NguyenTuan-pu7ye 3 жыл бұрын
a ơi vì sao cout
@28tech_
@28tech_ 3 жыл бұрын
S.begin nó là iterator mà, còn phần tử thì là thêm toán tử giải tham chiếu
@nam9338
@nam9338 2 жыл бұрын
bài cuối nó hoạt động ntn ạ
@thanhucmai228
@thanhucmai228 2 жыл бұрын
ad ơi ad nói rõ hơn về cái erase con trỏ của multiset đi ạ , em dùng mà toàn bị lỗi. Thanks ad nhiều
@28tech_
@28tech_ 2 жыл бұрын
Video này là mình nói hết cỡ rồi đấy 😂😂😂
@sonohoang2059
@sonohoang2059 2 жыл бұрын
anh ơi cho em hỏi là nếu trong 1 cửa số k nó có 2 phần tử giống nhau thì dùng erase trong multi set sẽ xóa cả 2 phần tử giống nhau thì sao ạ
@28tech_
@28tech_ 2 жыл бұрын
Em dùng itertor để xoá nó chỉ xoá 1 thàng
@sonohoang2059
@sonohoang2059 2 жыл бұрын
@@28tech_ da vang anh em hieu r a
@hoavoanh
@hoavoanh 2 жыл бұрын
có cách nào để đưa set hoặc multiset vào trong hàm mà k để ở hàm main không anh
@28tech_
@28tech_ 2 жыл бұрын
Thoải mái e truyền tham số như biến bt
@hoavoanh
@hoavoanh 2 жыл бұрын
@@28tech_ dạ em làm được rồi. em cảm ơn anh
@35.leminhtien60
@35.leminhtien60 2 жыл бұрын
Cho em xin tài liệu lí thuyết trong video với ạ
@maintop250
@maintop250 2 жыл бұрын
anh ơi cho em hỏi sao em làm thế này lại k ra ạ #include using namespace std; int main(){ int n,k; cin>>n>>k; int a[n]; for(int &x:a){ cin>>x; } multiset s; for(int i=0;i
@28tech_
@28tech_ 2 жыл бұрын
Hỏi khó quá :v
@maintop250
@maintop250 2 жыл бұрын
@@28tech_ 😬😬 tại em không biết làm sao nó sai ấy
@tuannguyenhuu964
@tuannguyenhuu964 Жыл бұрын
@@maintop250 Thiếu dấu đóng ngoặc } ở cuối chương trình. Dòng cuối cùng cout
@VuVanPhuc72
@VuVanPhuc72 2 жыл бұрын
e dùng thuật toán này để sắp xếp mảng các ptu khác nhau thì độ phức tạp O(n) hay O(n^2) vậy a int main(){ set s; for (int i = 0; i < 5; i++) { int x; cin >> x; s.insert(x); } for (int x : s) cout
@28tech_
@28tech_ 2 жыл бұрын
NlogN em nhé, nhưng mà làm ntn nó mất hết các số trùng nhau đấy em
@VuVanPhuc72
@VuVanPhuc72 2 жыл бұрын
@@28tech_ ok a, a cho e hỏi thêm lộ trình học khoá học c++ cơ bản này cho người mới thì tầm trong bao lâu ạ
@28tech_
@28tech_ 2 жыл бұрын
@@VuVanPhuc72 còn tuỷ người, nhanh thì 3 tháng, chậm 5 tháng, người học ko cẩn thận thì vài năm cũng ko học hết nhé e
@VuVanPhuc72
@VuVanPhuc72 2 жыл бұрын
@@28tech_ dạ e cám ơn a nhiều ạ
@leoan8781
@leoan8781 Жыл бұрын
mình sử dụng codeblock để code nội dung giống hệt bạn. nhưng phần for (int x: s){ cout
@42.nguyenviettruong75
@42.nguyenviettruong75 6 ай бұрын
bạn phải dùng c++ 11 trở lên thì mới duyệt kiểu đó được
@HoangTran-wr3bd
@HoangTran-wr3bd 2 жыл бұрын
a ơi làm thế nào để a zoom to được cái cửa sổ chạy code vậy ạ
@28tech_
@28tech_ 2 жыл бұрын
E ctrl xong cuộn chuột là nó to ta
@nguyenthanh0598
@nguyenthanh0598 8 ай бұрын
anh ơi e duyệt set bằng for (int x : s) em code giống anh mà nó báo lỗi c++ 98 mode j ấy k chạy đc, chỉ có thể duyệt bằng iterator thôi, a chỉ cách để nó chạy giúp em dc k ạ
@28tech_
@28tech_ 8 ай бұрын
Em cần chạy chuẩn C++11 hoặc mới hơn mới có nhé em
@HaNguyen-bq5fp
@HaNguyen-bq5fp 2 жыл бұрын
cái xoá là xoá phần tử theo giá trị chứ k phải theo chỉ số phải k a
@28tech_
@28tech_ 2 жыл бұрын
Uh em
@quananhnguyen135
@quananhnguyen135 Жыл бұрын
in ra các phần tử trong set , multi , unordered mà k dùng for each vs iterator kiểu j anh , c++ của em k dùng dc for each , vs unordered ạ
@28tech_
@28tech_ Жыл бұрын
Thì em dùng iterator, hoặc tìm cách chạy chuẩn C++ 17
@quananhnguyen135
@quananhnguyen135 Жыл бұрын
@@28tech_ anh cho em hỏi là tìm ở web nào ạ
@abcsde-vp7vg
@abcsde-vp7vg 3 жыл бұрын
Set chỉ in được đầu cuối không in được phần tử thứ k hả mn?
@28tech_
@28tech_ 3 жыл бұрын
B tìm hiều hàm next trong multiset nhá.
@nguyenkien253
@nguyenkien253 2 жыл бұрын
6:12 sao lại s.count khác 0 lại found ạ??
@28tech_
@28tech_ 2 жыл бұрын
Là tìm thấy đó em
@nguyenkien253
@nguyenkien253 2 жыл бұрын
@@28tech_ nhưng sao s.count khác 0 lại tìm thấy ạ
@hoangvietnguyen5788
@hoangvietnguyen5788 2 жыл бұрын
anh ơi tại sao khai bào unorderes_set rồi thì khi in số phần tử thì những số phần tử khác nhau ak
@28tech_
@28tech_ 2 жыл бұрын
uh, đúng thế em.
@khavovan8201
@khavovan8201 3 жыл бұрын
Độ phức tạp là O(logn) có ý nghĩa gì vậy anh ?
@28tech_
@28tech_ 3 жыл бұрын
Hơi khó khăn nhỉ, vì nếu bạn mới học lập trình chưa biết về độ phức tạp thì khó nói quá, có gì mai mình sẽ làm 1 video giới thiệu qua về độ phức tạp. Đơn giản thì độ phức tạp càng nhỏ thì code chạy càng nhanh O(1) < O(logn) < O(n) < O(n^2)... Em đọc thêm ở đây nhé, phần time complexity ấy usaco.guide/bronze/time-comp?lang=cpp
@jitan5429
@jitan5429 Жыл бұрын
anh ơi khi mà em dùng for each trong codeblocks á a là nó bị vào vòng lặp vô tận luôn , anh có biết cách nào để khắc phục cái đó và tại sao nó bị thế không vậy anh ? dạ em cám ơn anh nhiều chúc anh một ngày vui vẻ
@28tech_
@28tech_ Жыл бұрын
Ko phải lặp vô tận, chắc e khai báo mảng quá to chăng, range base for loop nó sẽ duyệt hết mọi phần tử trong mảng
@jitan5429
@jitan5429 Жыл бұрын
@@28tech_ dạ rồi em cám ơn anh nhiều ạ
@tranquangtruong9294
@tranquangtruong9294 3 жыл бұрын
Mình có 5 Từ "java" ,"python","python","java","PHP" thì dùng hàm gì hợp lý để nó ra là lượt là 2 2 1 vậy ạ.
@28tech_
@28tech_ 3 жыл бұрын
tức là không phân biệt hoa thường ah, thế thì e chuyển xâu về in thường hết hoặc hoa hết rồi làm chứ ko có hàm nào cả.
@Vu205-r3r
@Vu205-r3r Жыл бұрын
set này so với vector thì cái nào nó nhanh hơn ạ a
@28tech_
@28tech_ Жыл бұрын
Về tìm kiếm và thêm, xoá thì set nhanh hơn. Truy cập phần tử và thêm vào cuối thì vector nhanh hơn e
@Vu205-r3r
@Vu205-r3r Жыл бұрын
daj vaang anh@@28tech_
@tracnang66
@tracnang66 3 жыл бұрын
and có video giải bài tập ở phần mô tả không anh
@28tech_
@28tech_ 3 жыл бұрын
Mình ko giải, bạn cứ code đi nó không khó, nếu có khó khăn gì thì mình sẽ giải cho. Có thể tí nữa mình code cho rồi cập nhật ở mô tả luôn. Phần này cũng nhiều người hỏi phần giải.
@tracnang66
@tracnang66 3 жыл бұрын
@@28tech_andrew2804 anh cho em hỏi nhập xâu thì ta nhập thế nào ạ,anh cho em 1 vd được k
@tracnang66
@tracnang66 3 жыл бұрын
set s1; xong nhập thế nào ạ
@28tech_
@28tech_ 3 жыл бұрын
@@tracnang66 Nhập xâu xong bạn còn phải tách nó ra xong insert vào set cơ.
@IUH_H32_PL
@IUH_H32_PL 3 жыл бұрын
a ơi làm sao để mik vô đc nhóm trên face ạ em thấy để"Bạn hiện không xem được nội dung này".. em cảm ơn a
@28tech_
@28tech_ 3 жыл бұрын
Uh hiện tại nhóm a chưa có thời gian quản lý nên tạm dừng nhé em.
@giahienphanba944
@giahienphanba944 2 жыл бұрын
có cách nào truy cập set mà không dùng for(auto hay cái int ấy) không anh
@28tech_
@28tech_ 2 жыл бұрын
Có hàm next em ạ, nhưng nó ko truy cập đc như kiểu mảng đâu e
@chilinhtinh1190
@chilinhtinh1190 2 жыл бұрын
sao phải lấy *s.begin anh s là con trỏ hay sao ạ?
@28tech_
@28tech_ 2 жыл бұрын
Iterator, nó tương tự con trỏ nhé b
@nguyenhouc8259
@nguyenhouc8259 3 жыл бұрын
Em vẫn thấy Unordered_set tuy không sắp xếp nhưng khi xuất ra cũng hông theo thứ tự mình nhập. Không biết tại sao anh nhỉ
@28tech_
@28tech_ 3 жыл бұрын
Uh nó cũng ko theo thứ tự mình nhập đâu nhé, cái này trong java thì có còn unodered set thì ko duy trì các phần tử theo thứ tự nhập.
@fuocng
@fuocng 2 жыл бұрын
Anh biết cách chuyển sang c++11 trong VS Code ko ạ
@28tech_
@28tech_ 2 жыл бұрын
Cái này a ko rõ vì a dùng sublime, e search stackoverflow là có thôi.
@lewlew212
@lewlew212 2 жыл бұрын
b chuyển sang c++11 chưa vậy?
@buituanhiep15-39
@buituanhiep15-39 Жыл бұрын
anh ơi cái multiset mình không xài được kiểu iterator như này à anh cout
@28tech_
@28tech_ Жыл бұрын
Ko em ạ, này chỉ áp dụng cho vector thôi.
@Itn.2004
@Itn.2004 2 жыл бұрын
Nếu đề kêu tìm max min hay sắp xếp mảng mà mình dùng set thì có sai đề k a...:))
@28tech_
@28tech_ 2 жыл бұрын
Sắp xếp thì sai, còn tìm max min ko sai nhưng thuật toán như vậy là ko tốt
@muoipogbagaming5316
@muoipogbagaming5316 3 жыл бұрын
Anh trùm c++ à
@28tech_
@28tech_ 3 жыл бұрын
C++ bọn học cùng mình thằng nào cũng chùm cả, môn cơ bản mà. :v
@M10Leo-u1p
@M10Leo-u1p 4 ай бұрын
bài cuối phải ngồi hơn 40p và phải đi tìm hiểu cửa sổ trượt mới hiểu nổi. Khoai ác =((
@28tech_
@28tech_ 4 ай бұрын
Giờ anh cũng chả nhớ bài đấy là bài nào nữa :v
@M10Leo-u1p
@M10Leo-u1p 4 ай бұрын
@@28tech_ bài tìm ra phần tử lớn nhất mà xét lần lượt 3 phần tử á anh mà em chưa học cửa sổ trượt nên k hiểu gì :((
@BDCCN-TranHuyBachai-ol9rd
@BDCCN-TranHuyBachai-ol9rd 3 жыл бұрын
lm sao để dùng erase để xóa 1 đoạn trong set vậy ạ
@28tech_
@28tech_ 3 жыл бұрын
Khó nhỉ. Set xoá từng phần tử 1 thôi e.
@BDCCN-TranHuyBachai-ol9rd
@BDCCN-TranHuyBachai-ol9rd 3 жыл бұрын
@@28tech_ e cảm ơn ạ
@20.tranangbaophuc93
@20.tranangbaophuc93 Жыл бұрын
cho em hỏi là em khai báo mảng có giới hạn là biến thì nó bị lỗi là do sao ạ vd: int a[n];
@28tech_
@28tech_ Жыл бұрын
Có 1 vài trình biên dịch nó ko chấp nhận cái này, em khai báo a[100000] hoặc bao nhiêu đó là hằng số nhé.
@taiuc2923
@taiuc2923 3 жыл бұрын
cho em hỏi là sao lại là ms.find của a[i - k ] v anh
@28tech_
@28tech_ 3 жыл бұрын
Em hỏi rõ hơn phút thứ bn được ko nhỉ.
@huynhtuanat739
@huynhtuanat739 Жыл бұрын
Set có phụ thuộc vào phiên bản hg a. E sử dụng codeblock 16.01 nó báo lỗi cho phần duyệt để in set #include #include using namespace std; int n,x,i; int main() { set s; ifstream fi; fi.open("SET.INP"); fi>>n; for (int i=1;i>x; s.insert(x); } cout
@28tech_
@28tech_ Жыл бұрын
Bản C++ của em chưa có range base for loop, em cần chạy vs chuẩn C++ cao hơn chút, ko thì phải thay dòng đó bằng cách duyệt bằng iterator.
@huynhtuanat739
@huynhtuanat739 Жыл бұрын
@@28tech_ Cám ơn a. Nếu chạy bằng iterator thì thực hiện sao a
@28tech_
@28tech_ Жыл бұрын
@@huynhtuanat739 for(set::iterator it = se.begin(); it != se.end(); ++it) cout
@huynhtuanat739
@huynhtuanat739 Жыл бұрын
@@28tech_ cám ơn a nhiều
@huynhtuanat739
@huynhtuanat739 Жыл бұрын
@@28tech_ Mình có thể dùng while hoặc for để xoá lần lượt từng phần tử trong set hg a.
@phantrungkien3049
@phantrungkien3049 2 жыл бұрын
sao cái devc++ của e nó ko hỗ trợ unordered_set thế a
@28tech_
@28tech_ 2 жыл бұрын
E cài chuẩn c++11 đi đã
@trictc
@trictc Жыл бұрын
Anh cho em xin file bài tập set map với ạ.
@taiphanvan2403
@taiphanvan2403 3 жыл бұрын
em chưa thấy tác dụng nổi bật j của unordered_set.Em thấy set nó hữu dụng hơn
@28tech_
@28tech_ 3 жыл бұрын
Độ phức tạp của nó có thể là O(1), cũng có thể là O(n). Nói chung dùng cũng được mà mình thì ít dùng.
@puckkluvperfumee
@puckkluvperfumee 2 жыл бұрын
Anh ơi cho e xin file bt Set, map được không ạ?
@HaNguyen-bq5fp
@HaNguyen-bq5fp 2 жыл бұрын
sao cái em cout
@28tech_
@28tech_ 2 жыл бұрын
Lấy đâu ra em 😁😁😁
@justmEdu
@justmEdu Жыл бұрын
anh ơi em cũng cài dev C++ 5.11 như anh nhưng em làm theo cách duyệt sử dụng "for each" lại không được anh ạ for(auto x : s){ -> tại dòng này nó báo lỗi là 'x' does not name a type
@minh6672
@minh6672 Жыл бұрын
Như anh ấy nói là phiên bản của ngôn ngữ C++ bạn à, vô cài đặt chỉnh ấy. Không phải phiên bản của phần mềm
@andanh-fs1fe
@andanh-fs1fe 6 ай бұрын
1 anh ơi hàm for(int x: s) là sao vậy ạ,? 2 tại sao phải có hàm for(int x:s) thì mới xuất được các giá trị của set ạ 3 hàm for(int x:s) khác j với hàm for thông thường ạ
@thuynguyen-vi6vw
@thuynguyen-vi6vw 4 ай бұрын
k xem video trc thì đừng hỏi nhiều nhé bn🤫🤫🤫
@hieuinhtrung9417
@hieuinhtrung9417 2 жыл бұрын
Sao Dev c++ của em ko dùng đc for each ạ
@28tech_
@28tech_ 2 жыл бұрын
Em chạy vs chuẩn C++11 trở lên nhá. Vào tool->compiler option->setting->code generation->language standard->gnuc++11
@hieuinhtrung9417
@hieuinhtrung9417 2 жыл бұрын
@@28tech_ Được rồi ạ, cảm ơn ad
@hatuanphan222
@hatuanphan222 Жыл бұрын
auto ko dùng đc là tại sao vậy ạ
@28tech_
@28tech_ Жыл бұрын
Em cần chạy vs chuẩn C++ 11 trở lên nhed
@baole4742
@baole4742 2 жыл бұрын
của em dùng for x nó báo lỗi a ơi
@28tech_
@28tech_ 2 жыл бұрын
E dùng chuẩn C++ 11 nhé. Trong dev c e vào tool->compiler option->setting-language standar->code generation->GNU C++11 là được.
Players push long pins through a cardboard box attempting to pop the balloon!
00:31
Creative Justice at the Checkout: Bananas and Eggs Showdown #shorts
00:18
Fabiosa Best Lifehacks
Рет қаралды 34 МЛН
Quilt Challenge, No Skills, Just Luck#Funnyfamily #Partygames #Funny
00:32
Family Games Media
Рет қаралды 47 МЛН
How to set up C/C++ Development With Visual Studio Code
13:38
CodeXplore
Рет қаралды 370 М.
Sàng số nguyên tố(Sàng Eratosthenes) và ứng dụng.
47:05
Beat Ronaldo, Win $1,000,000
22:45
MrBeast
Рет қаралды 106 МЛН
How to STUDY so FAST it feels like CHEATING
8:03
The Angry Explainer
Рет қаралды 2 МЛН
#38 [C++]. Kiểu Cấu Trúc Trong C++ | Struct Trong C++
36:29