Danh Sách Liên Kết Kép - Lập Trình 321
Có thể bạn quan tâm
Lập Trình 321
Tổng Hợp Kiến Thức Lập Trình
SLIDE1
Thursday, April 30, 2015
Home » danh sach lien ket , giai thuat » danh sách liên kết képdanh sách liên kết kép
danh sách liên kết kép, định nghĩa struct và các hàm thành phần có trong danh sách kép Cấu Trúc Dữ Liệu Cấu trúc dữ liệu 1 nút typedef struct tagDnode { Data Info; struct tagDnode *pPre; struct tagDnode *pNext; }DNode; Cấu trúc List kép Typedef struct tagDList { DNode *pHead; DNode *pTail; }DList; void CreateDList(DList &l) { l.DHead=NULL; l.DTail=NULL; } Tạo 1 Nút Có Thành Phần Dữ Liệu = X DNode *CreateDNode(int x) { DNode *tam; tam=new DNode; if(tam==NULL) { printf("khong con du bo nho"); exit(1); } else { tam->Info=x; tam->pNext=NULL; tam->pPre=NULL; return tam; } } Cài Đặt Thêm 1 Nút Vào Đầu Danh Sách void AddFirst(DList &l, DNode *tam) { if(l.pHead==NULL)//xau rong { l.pHead=tam; l.pTail=l.pHead; } else { tam->pNext=l.pHead; l.pHead->pPre=tam; l.pHead=tam; } } Cài Đặt Thêm 1 Nút Vào Cuối Danh Sách void AddEnd(DList &l,DNode *tam) { if(l.pHead==NULL) { l.pHead=tam; l.pTail=l.pHead; } else { tam->pPre=l.pTail; l.pTail->pNext=tam; tam=l.pTail; } } Cài Đặt Thêm 1 Nút Vào Sau Nút Q void AddLastQ(DList &l,DNode *tam, DNode *q) { DNode *p; p=q->pNext; if(q!=NULL)//them vao duoc { tam->pNext=p; tam->pPre=q; q->pNext=tam; if(p!=NULL) p->pPre=tam; if(q==l.pTail) //them vao sau danh sach lien ket. l.pTail=tam; } else AddFirst(l,tam); } Cài Đặt Thêm 1 Nút Vào Trước Nút Q void AddBeforeQ(DList &l,DNode *tam,DNode *q) { DNode *p; p=q->pPre; if(q!=NULL) { tam->pNext=q; q->pPre=tam; tam->pPre=p; if(p!=NULL) p->pNext=tam; if(q==l.pHead) l.pHead = tam; } else AddEnd(l,tam); } Xoá Phần Tử Đầu Danh Sách void DeleteFirst(DList &l) { DNode *p; if(l.pHead!=NULL) { p=l.pHead; l.pHead=l.pHead->pNext; l.pHead->pPre=NULL; delete p; if(l.pHead==NULL) l.pTail=NULL; } } Xoá 1 Phần Tử Cuối Danh Sách void DeleteEnd(DList &l ) { DNode *p; if(l.pHead!=NULL) //tuc xau co hon mot phan tu { p=l.pTail; l.pTail=l.pTail->Pre; l.pTail->pNext=NULL; delete p; if(l.pTail==NULL) l.pHead=NULL; } } Hủy 1 Nút Sau Nút Q void DeleteLastQ(DList &l,DNode *q) { DNode *p;//luu node dung sau node q if(q!=NULL) { p=q->pNext; if(p!=NULL) { q->pNext=p->pNext; if(p==l.pTail)//xoa dung nu't cuoi l.pTail=q; else //Nut xoa khong phai nut cuoi p->pNext->pPre=q; delete p; } } else DeleteFirst(l); } Huỷ 1 Nút Đứng Trước Nút Q void DeleteBeforeQ(DList &l,DNode *q) { DNode *p; if(q!=NULL) //tuc ton tai node q { p=q->pPre; if(p!=NULL) { q->pPre=p->pPre; if(p==l.pHead)//p la Node dau cua danh sach l.pHead=q; else //p khong phai la node dau p->pPre->pNext=q; delete p; } } else DeleteEnd(l); } Xoá 1 Phần Tử Có Khoá = X int DeleteX(DList &l,int x) { DNode *p; DNode *q; q=NULL; p=l.pHead; while(p!=NULL) { if(p->Info==x) break; q=p;//q la Node co truong Info = x p=p->pNext; } if(q==NULL) return 0;//khong tim thay Node nao co truong Info =x if(q!=NULL) DeleteLastQ(l,q); else DeleteFirst(l); return 1; } Sắp Xếp void DoiChoTrucTiep(DList &l) { DNode *p,*q; p=l.pHead; while(p!=l.pTail) { q=p->pNext; while(q!=NULL) { if(p->Info>q->Info) HV(p,q); q=q->pNext; } p=p->pNext; }} ← Newer Post Older Post → HomeFind us on facebook
Trần Khánh Toànemail: [email protected]://www.laptrinh321.net FaceBook Google Plus-
hệ đếm nhị phân, thập phân và thập lục phân 1. hệ đếm nhị phân: dùng 2 kí số cơ bản là 0 và 1 đổi hệ 10 sang hệ 2 thì chia liên tiếp cho 2 đến khi bằng 0, số dư được viết theo c... -
các hệ thống số cơ bản, nhị phân, bát phân, thập lục phân, thập phân các hệ thống số cơ bản thập phân: gồm các chữ số 0,1,2,3,4,5,6,7,8,9 ví dụ: 576.348 = 5*10^2 + 7*10^1 + 6*10^0 + 3*10^-1 + 4*10^-2 ... -
lập trình tìm các bộ số pitago | lập trình c/c++ lập trình tìm các bộ số pitago | lập trình c/c++. Một tam giác vuông có thể có tất cả các cạnh là các số nguyên. Tập của ba số nguyên của... -
[C/C++] nhập vào họ và tên, in ra tên viết chương trình [C/C++] nhập vào họ và tên , sau đó xử lý chuỗi và in ra tên của người đó. #include<stdio.h> #include<string.h... -
viết chương trình c chuyển đổi hệ đếm nhị phân, bát phân, thập lục phân viết chương trình c chuyển đổi hệ đếm nhị phân, bát phân, thập lục phân . DEC,BIN,HEX,OCT. Viết chương trình in bảng của các số từ 1 đế... -
cách XĐ tín hiệu điều khiển từ khối "Control" - Datapath (KTMT) ** Tổng quan các lệnh cần xem xét: (8 lệnh trong 3 nhóm chính của tập lệnh MIPS) § Nhóm lệnh tham khảo bộ nhớ (lw và sw): Nạp... -
[OOP C++] quản lý nhân viên và tính lương cho từng nhân viên bài tập OOP C++. Giả sử Công ty có hai loại nhân viên: Nhân viên văn phòng và Nhân viên sản xuất. Viết chương trình quản lý và tính lương ch... - OOP C++ cộng trừ nhân chia số phức Làm lại bài số phức với một phương thức thiết lập duy nhất cho phép quan điểm một số thực như một số phức đặc biệt (phần ảo bằng 0). Định ng...
- 5. Viết chương trình nhập họ tên, điểm toán, điểm văn của một học sinh. Tính điểm trung bình và xuất kết quả. 5. Viết chương trình nhập họ tên, điểm toán, điểm văn của một học sinh. Tính điểm trung bình và xuất kết quả. #include<iostream> us...
-
xung đột? pipelined và kỹ thuật forwarding, non-forwarding Pipeline là một kỹ thuật mà trong đó các lệnh được thực thi theo kiểu chồng lắp lên nhau. - Cách tiếp cận dùng kỹ thuật pipeline tiêu tố...
Labels
- bai tap c
- bai tap oop
- cau truc cay
- danh sach lien ket
- giai thuat
- giao trinh hoc c
- giao trinh oop
- html
- kien truc may tinh
- lap trinh c
- lap trinh web
- linh tinh
- linux
- mang may tinh
- may tinh
- PHP
- sap xep
- SQL
- tim kiem
Blog Archive
- ► 2016 (6)
- ► March (4)
- ► January (2)
- ► 2014 (66)
- ► December (9)
- ► October (28)
- ► September (29)
Categories
- bai tap c
- bai tap oop
- cau truc cay
- danh sach lien ket
- giai thuat
- giao trinh hoc c
- giao trinh oop
- html
- kien truc may tinh
- lap trinh c
- lap trinh web
- linh tinh
- linux
- mang may tinh
- may tinh
- PHP
- sap xep
- SQL
- tim kiem
BTemplates.com
Đồng Hồ Gỗ, Tượng Gỗ Di Lặc, Phúc Lộc Thọ Dịch Vụ Kế Toán Tại Nhà Kế Toán Copyright © Lập Trình 321 | Powered by Blogger Design by FThemes | Blogger Theme by Lasantha - Premium Blogger Templates | NewBloggerThemes.comTừ khóa » Nhập Xuất Danh Sách Liên Kết Kép
-
Danh Sách Liên Kết Kép Và Các Thao Tác Cơ Bản - Nguyễn Tuấn's Blog
-
Lập Trình C: Bài 14 - Danh Sách Liên Kết Kép - Nguyễn Văn Quân
-
[CTDL] Danh Sách Liên Kết Kép - Doubly Linked List - Cafedev
-
Chi Tiết Bài Học Danh Sách Liên Kết Kép - Vimentor
-
Cài đặt Danh Sách Liên Kết đôi C/C++ - Doubly Linked List
-
Nhập Xuất Trong Danh Sách Liên Kết đôi C/C++ | Lập Trình Từ Đầu
-
Xây Dựng Danh Sách Liên Kết Kép (Doubly Linked List) Với Con Trỏ ...
-
CTDL Và Giải Thuật - Nhập/ Xuất Danh Sách Liên Kết
-
Cài đặt Danh Sách Liên Kết đôi Trong C/C++ - Lập Trình Không Khó
-
Cấu Trúc Dữ Liệu Danh Sách Liên Kết đôi (Doubly Linked List) - VietTuts
-
Danh Sách Liên Kết đơn Trong C++ | TopDev
-
Nhập Xuất Danh Sách Liên Kết đôi(kép) - GÓC HỌC TẬP
-
Bài Tập Danh Sách Liên Kết Kép - 123doc
-
[PDF] BÀI 5 DANH SÁCH LIÊN KẾT ĐÔI Mục Tiêu - EHOU




