Bài giảng về cấu trúc dữ liệu và giải thuật

19 397 1
Bài giảng về cấu trúc dữ liệu và giải thuật

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

#include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h> #define MAX 100 typedef char inf1[20]; typedef float inf2; typedef float inf3; typedef struct _svien { //Dinh nghia kieu du lieu hsinh inf1 hten; inf2 cnang; inf3 ccao; } svien; typedef svien list[MAX]; list p; // Nguyen mau ham int nhap();//Nhap thong tin cho danh sach sinh vien svien nhapsv();//Nhap thong tin cho 1 sihn vien void xuat(int);//Xuat danh sach sinh vien ra man hinh int them(svien,int,int);//Them mot sv vao ds int timkiem(inf1,int);//Tim 1 nguoi tra ve vi tri trong ds int xoa(int,int); //Xoa mot sv ra ds void menu();//hien thi menu int main(){ clrscr(); svien temp; inf1 hten; int n=0,choice,vitri;//n la so luong sinh vien while (1){ clrscr(); menu(); printf("\nMoi lua chon:");scanf("%d",&choice); fflush(stdin); switch (choice){ case 0: exit(0); case 1:n=nhap();break; case 2:clrscr();xuat(n);break; case 3:strcpy(temp.hten,"Le Them"); temp.ccao=155;temp.cnang=temp.ccao-105; n=them(temp,2,n);break; case 4:temp=nhapsv(); printf("\nVi tri muon them:");scanf("%d",&vitri); n=them(temp,vitri,n);break; case 5:timkiem("Le Tim",n); break; case 6:printf("\nNhap ten sv: ");gets(hten);timkiem(hten,n);break; case 7:n=xoa(2,n);break; case 8:printf("\nNhap vi tri can xoa: ");scanf("%d",&vitri);fflush(stdin); n=xoa(vitri,n);break; case 9:if((vitri=timkiem("Le Xoa",n))!=0) n=xoa(vitri,n);break; case 10: printf("\nNhap ten: ");gets(hten); if ((vitri=timkiem(hten,n))!=0) n=xoa(vitri,n); break; default: printf("Lua chon khong hop le !");getch();break; } }; } int nhap(){ inf1 hten; int i=0; inf3 ccao; do{ printf("\nNhap ten sv thu %d (nhap 'end' de ket thuc) :",i+1); gets(hten); if (strcmpi(hten,"end")&&(i<MAX)) { strcpy(p[i].hten,hten); printf("\nNhap thong tin cho sv %s:",p[i].hten); printf("\nChieu cao (cm): ");scanf("%f",&ccao);fflush(stdin); p[i].ccao=ccao; p[i].cnang= ccao - 105; i++; } if (i==MAX) printf("FULL"); } while (strcmpi(hten,"end")&&(i<MAX)); return i; } svien nhapsv(){ svien temp; inf2 ccao; inf1 hten; printf("\nHo ten: ");gets(hten); strcpy(temp.hten,hten); printf("\nChieu cao: (cm) ");scanf("%f",&ccao);fflush(stdin); temp.ccao=ccao; temp.cnang=ccao-105; return temp; } void xuat(int n){ int i; if (n==0) printf("\nDanh sach Rong !"); for (i=0;i<n;i++){ printf("\n%d,Sv:%-20s",i+1,p[i].hten); printf("\tcc: %4.1f (cm) \tcn: %4.1f (kg) ",p[i].ccao,p[i].cnang); } getch(); } int them(svien temp, int vitri,int n){ int i; if (vitri<1||vitri>n+1) printf("\nVi tri khong hop le !"); else if (n>=100) printf("\nDanh sach het cho trong !"); else{ n++; for (i=n-1;i>=vitri;i ) p[i]=p[i-1]; p[i]=temp; printf("\nThanh cong !"); } getch(); return n; } int timkiem(inf1 hten,int n){ int i=0; while (strcmpi(p[i].hten,hten)) i++; if (i>=n) printf("\nKhong tim thay %s trong danh sach !",hten); else{ printf("\nThong tin sv %s :",hten); printf("\nCcao: %4.1f \t Cnang: %4.1f \t Vi tri: %3d",p[i].ccao,p[i].cnang,i+1); } getch(); if (i<100) return i+1; else return 0; } int xoa(int vitri,int n){ int i; if (vitri<1||vitri>n) printf("\nVi tri khong thich hop"); else { for(i=vitri-1;i<n;i++) p[i]=p[i+1]; n ; printf("\nThanh Cong "); } getch(); return n; } void menu(){ printf("\n1. Nhap moi mot danh sach sinh vien"); printf("\n2. Liet ke danh sach"); printf("\n3. Them 'Le Them' ccao 155 vao vi tri thu 2 danh sach"); printf("\n4. Them mot sv vao danh sach"); printf("\n5. Tim kiem sv 'Le Tim' trong danh sach"); printf("\n6. Xem thong tin mot sv"); printf("\n7. Xoa sv thu 2 ra khoi danh sach"); printf("\n8. Xoa sv co vi tri x ra khoi danh sach"); printf("\n9. Xoa sv 'Le Xoa' trong ds neu co"); printf("\n10. Xoa mot sv ra khoi danh sach"); printf("\n0. Ket thuc chuong trinh"); } //Nhap vao ds sinh vien LIFO: vao sau ra truoc #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h> #define MAX 100 typedef char inf1[20]; typedef float inf2; typedef float inf3; typedef struct _svien { //Dinh nghia kieu du lieu hsinh inf1 hten; inf2 cnang; inf3 ccao; struct _svien *next; } svien; svien *top=NULL,*p=NULL; //Phan tu dau tien cua ds // Nguyen mau ham svien *nhapsv(svien *tem);//Nhap thong tin cho danh sach sinh vien void xuatsv(svien *tem);//Xuat thong tin 1 sinh vien void pus(svien *tem);//Them mot sv vao dau danh sach tang dan theo ho ten void xuatds(svien *top); void nhapds();//Nhap danh sach sin vien void xoasv(inf1 hten);//Xoa sv co ten la hten void timsv(inf1 hten);//Tim va xuat thong tin sv co ten la hten void menu();//Hien thi menu int main(){ clrscr(); inf1 hten; int choice; while (1){ menu(); printf("\nMoi lua chon:");scanf("%d",&choice); fflush(stdin); switch (choice){ case 0: exit(0); case 1:nhapds();break; case 2:clrscr();p=new svien;p=nhapsv(p);pus(p);break; case 3:clrscr();xuatds(top);break; case 4: printf("\Nhap ho ten sv muon xem thong tin: ");gets(hten);timsv(hten);break; case 5:if (top!=NULL) top=top->next; else printf("\nDanh sach rong !"); break; case 6: printf("\nNhap ho ten sv can xoa: ");gets(hten);xoasv(hten);break; default: printf("Lua chon khong hop le !");getch();break; } clrscr(); }; } svien *nhapsv(svien *tem){ inf1 hten={0}; inf2 ccao=0; printf("\nNhap thong tin cho sv:"); printf("\nNhap ten: "); gets(hten); strcpy(tem->hten,hten); printf("Nhap chieu cao (cm):");scanf("%f",&ccao); fflush(stdin);//xoa bo nho dem ban phim tem->ccao=ccao; tem->cnang=ccao-105; return tem; } void xuatsv(svien *tem){ printf("\nTen sv: ");printf("%-20s",tem->hten); printf("\tChieu cao %.1f (cm) \t Can nang chuan %.1f",tem- >ccao,tem->cnang); } void pus(svien *tem){ tem->next=top; top=tem; } void xuatds(svien *top){ svien *tem; tem=top;//Cat giu top if (tem==NULL) printf("\nDanh sach rong !"); else printf("\nDanh sach sv:"); while (tem!=NULL){ xuatsv(tem); //xuat thong tin tem=tem->next;//tro den sv tiep theo } getch(); } void nhapds(){ int end=2; while (end==2){ p=new svien;//Cap phat moi bo nho cho sv moi p=nhapsv(p);//Nhap thong tin cho sv p pus(p); printf("\t\t\t1. Ket thuc"); printf("\n\t\t\t2. Nhap tiep"); printf("\n\t\t\tChoice ? "); scanf("%d",&end) ;fflush(stdin); } clrscr(); } void xoasv(inf1 hten){ svien *hientai,*ketruoc; hientai=top; while ((hientai!=NULL)&&strcmpi(hientai->hten,hten)) { ketruoc=hientai; hientai=hientai->next; }; if (hientai==NULL) printf("\nKhong tim thay sinh vien !"); else { if (hientai==top) top=hientai->next; else ketruoc->next=hientai->next; printf("\nXoa thanh cong"); getch(); } } void timsv(inf1 hten){ svien *tem; tem=top; while ((tem!=NULL)&&strcmpi(tem->hten,hten)) tem=tem- >next; if (tem==NULL) printf("\nKhong tim thay sinh vien"); else xuatsv(tem); getch(); } void menu(){ printf("\n1. Nhap moi mot danh sach sinh vien"); printf("\n2. Them mot sv vao dau danh sach"); printf("\n3. Liet ke danh sach"); printf("\n4. Nhap ten sv can xem thong tin"); printf("\n5. Xoa sv dau tien ra khoi danh sach"); printf("\n6. Nhap ten sinh vien can xoa ra khoi danh sach"); printf("\n0. Ket thuc chuong trinh"); } //Danh Sach dang FIFO: vao truoc ra truoc #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h> #define MAX 100 typedef char inf1[20]; typedef float inf2; typedef float inf3; typedef struct _svien { //Dinh nghia kieu du lieu hsinh inf1 hten; inf2 cnang; inf3 ccao; struct _svien *next; } svien; svien *first=NULL,*last=NULL,*p=NULL; // Nguyen mau ham svien *nhapsv(svien *tem);//Nhap thong tin cho danh sach sinh vien void xuatsv(svien *tem);//Xuat thong tin 1 sinh vien [...]... Tốc độ cao An toàn cao Logo Chẩn đoán và Xử lý sự cố Mô Hình BUS Không nhận mạng • Cable Hư • Hở Terminal • Hở Đầu BNC Logo Chẩn đoán và Xử lý sự cố Mô Hình RING Không truyền dữ liệu • Cable Hư • Hở Dây • PC không lên Logo Chẩn đoán và Xử lý sự cố Mô Hình STAR Không truyền giữa các máy • Cable Hư • Hư Port HUB/SWITCH • Hư HUB/SWITCH Logo Bài tập tình huống 1 Những phát biểu nào... khác D Tất cả các câu trên Bài tập tình huống 2 Trên mô hình ., tất cả các thiết bị, node đều phụ thuộc vào thiết bị trung tâm? A Mô hình BUS B Mô hình RING Logo C Mô hình Star D Tất cả các câu trên Bài tập tình huống 3 Trên mô hình dạng Sao, thiết bị trung tâm thường được gọi là A HUB B Máy chủ Logo C Máy In D Máy phục Vụ File Bài tập tình huống Các Dữ liệu... tiếp Ôn tập và tổng kết Mạng Máy Tính:  Kết nối máy tính để trao đổi thông tin LAN:  Kết nối máy tính trong phạm vi nhỏ WAN:  Kết nối máy tính trong phạm vi lớn Logo BUS Topology:  Kết nối máy tính bằng một sợi cable duy nhất RING Topology:  Các máy tính được nối khép kín STAR Topology:  Kết nối máy tính thông qua thiết bị trung tâm Ôn tập và tổng kết... tình huống Các Dữ liệu được truyền đơn giản, những gói tin đi một chiều 4 Phát biểu trên là đang nói tới A Mô hình BUS Logo B Mô hình RING C Mô hình Star D Tất cả các câu trên Bài tập tình huống 5 Phát biểu nào sau đây nói đúng về mô hình Star A Khó xác định vấn đề khi hệ thống mạng chết B Phải có các thiết bị đầu cuối ở hai đầu dây m ạng Logo C Truyền

Ngày đăng: 19/10/2014, 11:51

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan