Đây là một chương trình C ++ để tìm Chế độ trong tập dữ liệu.
Thuật toán
Bắt đầu hàm inserttinset () để chèn dữ liệu vào tập hợp. Tạo nút mới và nút tạm thời (t). Nút sẽ được chèn vào danh sách bằng newnode. Nếu head là null thì gán nút mới cho head và tăng số lượng. Trong quá trình chèn, thực hiện sắp xếp chèn để sắp xếp dữ liệu. Nếu dữ liệu newnode-> bằng với bất kỳ phần tử nào có trong tập hợp, thì chỉ cần đếm gia tăng.Ví dụ
#includeusing namespace std; struct set // một tập cấu trúc để khai báo các biến {int data; int cnt; set * n;}; set * inserttinset (set * head, int n) {set * newnode =new set; // để sử dụng các biến của bộ cấu trúc. set * t =new set; newnode-> data =n; newnode-> cnt =0; newnode-> n =NULL; if (head ==NULL) {head =newnode; head-> cnt ++; quay trở lại đầu; } else {t =head; if (newnode-> data data) {newnode-> n =head; đầu =newnode; newnode-> cnt ++; quay trở lại đầu; } else if (newnode-> data ==head-> data) {head-> cnt ++; quay trở lại đầu; } while (t-> n! =NULL) {if (newnode-> data ==(t-> n) -> data) {(t-> n) -> cnt ++; quay trở lại đầu; } if (newnode-> data <(t-> n) -> data) break; t =t-> n; } newnode-> n =t-> n; t-> n =newnode; newnode-> cnt ++; quay trở lại đầu; }} int main () {int n, i, num, max =0, c; set * head =bộ mới; đầu =NULL; cout <<"\ nNhập số phần tử dữ liệu sẽ được sắp xếp:"; cin>> n; for (i =0; i > num; head =inserttinset (head, num); // gọi hàm} cout <<"\ nSorted Dữ liệu Riêng biệt"; while (head! =NULL) // if head không bằng null {if (max cnt) {c =head-> data; max =head-> cnt; } cout <<"->" < data <<"(" < cnt <<")"; // trả về số lượng dữ liệu. head =đầu-> n; } cout <<"\ nChế độ của tập dữ liệu đã cho là" < Đầu ra
Nhập số phần tử dữ liệu được sắp xếp:10 Nhập phần tử 1:1 Nhập phần tử 2:2 Nhập phần tử 3:0 Nhập phần tử 4:2 Nhập phần tử 5:3 Nhập phần tử 6:7 Nhập phần tử 7:6 Nhập phần tử 8:2 Nhập phần tử 9:1 phần tử 10:1 Dữ liệu riêng biệt được sắp xếp -> 0 (1) -> 1 (3) -> 2 (3) -> 3 (1) -> 6 (1) -> 7 (1) Chế độ của tập dữ liệu đã cho là 1 và xảy ra 3 lần.