CNTT2
Mời các bạn đăng kí thành viên để hưởng được những quền lợi từ diễn đàn, và cùng nhau chia sẻ kiến thức ,giao lưu học hỏi.
Nếu bạn đã là thành viên của diễn đàn thì hãy nhấn login để đăng nhập vào diễn đàn.
Cảm ơn các bạn đã tham gia diễn đàn CNTT2-K9





HỆ THỐNG DIỄN ĐÀN CỦA CNTT2K9
IndexIndex  CalendarCalendar  Trợ giúpTrợ giúp  Tìm kiếmTìm kiếm  Thành viênThành viên  NhómNhóm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  
Đăng Nhập
Tên truy cập:
Mật khẩu:
Đăng nhập tự động mỗi khi truy cập: 
:: Quên mật khẩu
Xem điểm thi
Các bạn nhập MSSV vào ô bên dưới
Ví dụ như: 09.020.001

Tìm kiếm
 
 

Display results as :
 
Rechercher Advanced Search
Latest topics
Top posters
cutuan527 (1051)
 
caingocthanh (559)
 
holyangell (486)
 
bankimo (381)
 
zailangtu911 (369)
 
nguyenthanhvu (300)
 
dinhhuunho (153)
 
Admin (145)
 
nguyen chi ha (145)
 
zztanzzthanhzz (126)
 
Liên kết
Trường Đại Học Cửu Long
Diễn đàn thầy Pha
Lớp CNTT3-K9
Lớp CNTT1-K9
Lớp CNTT1-K10
Lớp CNTT2-K10
January 2017
SunMonTueWedThuFriSat
1234567
891011121314
15161718192021
22232425262728
293031    
CalendarCalendar
Thắc mắc
Người Quản Trị
Chat
Moderator
Chat
Statistics
Diễn Đàn hiện có 7385 thành viên
Chúng ta cùng chào mừng thành viên mới đăng ký: lanhuong dinh

Tổng số bài viết đã gửi vào diễn đàn là 5059 in 1953 subjects

Share | 
 

 Bài tập thực hành về CTDL

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
cutuan527
Moderators
Moderators


Nam Tổng số bài gửi : 1051
Join date : 26/04/2009
Age : 26
Đến từ : Vĩnh Long

Bài gửiTiêu đề: Bài tập thực hành về CTDL   Mon Dec 14, 2009 9:05 pm

Bài 1: Chèn phần tử (chèn giữa hình như có vấn đề , các bạn coi rùi chỉnh lại
Trích dẫn :
#include"iostream.h"
#include"conio.h"
#include"alloc.h"
#include"stdio.h"
typedef struct node{
int info;
node* next;
};
typedef struct node* Node;
Node phead=NULL;
Node ptail=NULL;

Node getnode(int value){
Node p=(Node)malloc(sizeof(Node));
p->info=value;
p->next=NULL;
return p;
}
void chencuoi(int value){
Node p=getnode(value);
if(phead==NULL)
phead=ptail=p;
else
{
ptail->next=p;
ptail=p;
}
}
void push(int value){
Node p;
p=getnode(value);
if(phead==NULL)
phead=ptail=p;
else
{
p->next=phead;
phead=p;
}
}
void chengiua(Node q,Node p,int v){


if(q!=NULL){

p->next=q->next;
q->next=p;
if(q==ptail){
ptail=p;
}
}
else{
push(v);
}
}
void print()
{

Node p=phead;
while(p!=NULL){
printf("%d->",p->info);
p=p->next;
}
}
void main(){
clrscr();
int n, value,v,m;
printf("Nhap n: ");
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
printf("Nhap gia tri thu %d: ",i);
scanf("%d",&value);
chencuoi(value);
}
printf("\nChuoi vua nhap la: ");
print();
printf("\nNhap phan tu can chen: ");
scanf("%d",&v);
printf("\nNhap vao vi tri can chen trong chuoi: ");
scanf("%d",&m);
Node p=getnode(v);
Node q;
q->info=m;
chengiua(q,p,v);
print();
getch();
}


Bài 2: Xóa phần tử
Trích dẫn :
#include"conio.h"
#include"stdio.h"
#include"alloc.h"
typedef struct node{
int info;
node* next;
};
typedef node* Node;
Node phead=NULL;
Node ptail=NULL;
Node getnode(int gt){
Node p;
p=(Node)malloc(sizeof(Node));
p->info=gt;
p->next=NULL;
return p;
}
void chencuoi(int gt){
Node p=getnode(gt);
if(phead==NULL)
phead=ptail=p;
else
{
ptail->next=p;
ptail=p;
}
}
void xuat()
{
Node p=phead;
while(p!=NULL)
{
printf("%d->",p->info);
p=p->next;
}
}
void xoadau(){
int value;
Node p=phead;
phead=p->next;
value=p->info;
free(p);
}
void xoacuoi(){
int value;
if((ptail==NULL)||(phead==NULL))
{
printf("Danh sach rong !!!");
}
Node p=phead;
while((p->next!=ptail)&&(p->next!=NULL))
{
p=p->next;
}
value=ptail->info;
if(phead==ptail)
{
free(phead);
phead=ptail=NULL;
}
else
{
ptail=p;
free(p->next);
ptail->next=NULL;
}
}
int dem_so_node(Node p){
int dem=0;
while(p!=NULL){
p=p->next;
dem++;
}
return dem;
}

void xoagiua(int vt){
Node p;
Node q=phead;
int dem=0;
int n=dem_so_node(q);
if(vt==0)
xoadau();
else
{
if(vt==n-1)
xoacuoi();
}
if(vt<0||vt>n-1)
printf("Khong xoa duoc, phan tu khong nam trong danh sach");
else
{
while(dem!=vt-1){
dem++;
q=q->next;
}
p=q->next;
q->next=p->next;
free(p);
}
}
void main(){
clrscr();
int vt,x,n,gt;
printf("Nhap so phan tu cua danh sach: ");
scanf("%d",&n);
for(int i=0;i<n;i++)
{
printf("Nhap phan tu thu %d: ",i);
scanf("%d",&gt);
chencuoi(gt);
}
printf("\nDanh sach vua nhap la: ");
xuat();
printf("\nNhap vao vi tri can xoa: ");
scanf("%d",&vt);
xoagiua(vt);
printf("\nDanh sach sau khi xoa:");
xuat();
getch();
}

Có thể bài 2 có sai sót, mình hổng nhớ là sửa lại chưa nữa, các bạn coi thử nhe !!!

Bài 3: Sắp xếp
Trích dẫn :
#include"conio.h"
#include"stdio.h"
#include"alloc.h"
typedef struct node{
int info;
node* next;
};
typedef struct node* Node;
Node phead=NULL;
Node ptail=NULL;
Node getnode(int x){
Node p=(Node)malloc(sizeof(Node));
p->info=x;
p->next=NULL;
return p;
}
void chendau(int gt){
Node p=getnode(gt);
if(phead==NULL)
phead=ptail=p;
else {
p->next=phead;
phead=p;
}
}
void chencuoi(int gt){
Node p=getnode(gt);
if(phead==NULL)
phead=ptail=p;
else {
ptail->next=p;

ptail=p;
}
}

void swap(Node p1,Node p2){
int temp=p1->info;
p1->info=p2->info;
p2->info=temp;
}
void sortlist(){
Node p1=phead;
Node p2=phead->next;
if(p2==NULL)
return;
while(p1->next!=NULL){
while(p2!=NULL){
if(p1->info>p2->info)
swap(p1,p2);
else
p2=p2->next;
}
p1=p1->next;
p2=p1->next;
}
}
void xuat(){
Node p=phead;
while(p!=NULL){
printf("%d->",p->info);
p=p->next;
}
}
void main(){
clrscr();
int n,t,gt,v,vt;
Node max;
printf("Nhap so phan tu: ");
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
printf("\nNhap vao gia tri thu %d: ",i);
scanf("%d",&gt);
chencuoi(gt);
}
printf("\nDanh sach vua nhap la: ");
xuat();
sortlist();
printf("\nDanh sach da duoc sap xep: ");
xuat();
getch();
}

____Your signature's here_____________
Về Đầu Trang Go down
Xem lý lịch thành viên http://www.cutuan.tk
nguyenthanhvu
Thành viên cấp 5
Thành viên cấp 5


Nam Tổng số bài gửi : 300
Join date : 09/05/2009
Đến từ : CNTT2_K9

Bài gửiTiêu đề: Re: Bài tập thực hành về CTDL   Mon Dec 14, 2009 11:41 pm

Đụt Xí. Post code mà post trích dẫn sao đọc hả đây CuTuan ? Ngon ngồi đọc hết bài đi, không lồi con mắt mấy lạ. Edit lại thườn thôi đừng trích dẫn. Sad Thanks trước nhe !
Về Đầu Trang Go down
Xem lý lịch thành viên
cutuan527
Moderators
Moderators


Nam Tổng số bài gửi : 1051
Join date : 26/04/2009
Age : 26
Đến từ : Vĩnh Long

Bài gửiTiêu đề: Re: Bài tập thực hành về CTDL   Tue Dec 15, 2009 7:58 am

Đụt xí, thì ông chỉ việc copy rùi paste vào notepad, rồi ngồi đó xem cho đã là được rồi, cần gì phải đọc hết trên diễn đàn,

Chèn ơi, vậy cũng kêu edit giận dữ giận dữ giận dữ

____Your signature's here_____________
Về Đầu Trang Go down
Xem lý lịch thành viên http://www.cutuan.tk
caingocthanh
Moderators
Moderators


Nam Tổng số bài gửi : 559
Join date : 27/04/2009
Age : 28
Đến từ : Cà Mau

Bài gửiTiêu đề: Re: Bài tập thực hành về CTDL   Tue Dec 15, 2009 6:29 pm

Đụt xí,Đụt xí,Đụt xí,Đụt xí,Đụt xí,Đụt xí,Đụt xí,Đụt xí......n Đụt xí ..tối ngày cứ dụt xí hoài chán thiệt.......Đụt xí!!!!!
ý chết lại dính nữa oj`.Thank vì bài tập!!!

____Your signature's here_____________
^^*"_"***(@@@chữ ký@@@)***"_"*^^
Năm châu bốn bể là nhà
Về Đầu Trang Go down
Xem lý lịch thành viên http://thanhkim.tk
Sponsored content




Bài gửiTiêu đề: Re: Bài tập thực hành về CTDL   Today at 11:03 pm

Về Đầu Trang Go down
 

Bài tập thực hành về CTDL

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
CNTT2 :: IT WORLD :: Giáo Trình-Tài Liệu Trực Tuyến-
Free forum | © phpBB | Free forum support | Liên hệ | Report an abuse | Create your own blog