1. Trang chủ
  2. » Công Nghệ Thông Tin

danh sách liên kết đơn

27 2,3K 5
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Định dạng
Số trang 27
Dung lượng 71,33 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

link list

Trang 1

[Tổng hợp ]Giải bài tập về Danh Sách Liên kết

22-05-2012

Thao tác trên danh sách liên kết đơn.

bài 1 : với các yêu cầu sau.

1: Nhập dạnh sách.( Thêm đầu - Thêm cuối)

2: Xuất danh sách.

3: Liệt kê các phần tử mang phần tử chẵn.

4: Tìm phần tử có phần tử nhỏ nhất.

5: Đếm số lượng số nguyên tố trong danh sách.

6: Thêm phần tử X vào trước phần tử chẳn đầu tiên.

7: Thêm phần tử X vào sau phần tử lẽ cuối cũng.

8: Xoá phần tử nhỏ nhất trong danh sách.

9: Xoá phần tử đứng trước và sau X trong danh sách.

10: Tách danh sách hiện tại thành 2 danh sách sao cho danh sách 1 chứa các phần tử nguyên tố, danh sách 2 chứa các phần tử còn lại

Trang 2

typedef struct node

void AddHead(LIST &l,NODE* new_ele);

void AddTail(LIST &l,NODE* new_ele);

void InPut(LIST &l);

void OutPut(LIST l);

void XuatChan(LIST l);

NODE* TimMax(LIST l);

int DemSNT(LIST l);

void ThemXTruocChanDau(LIST &l,int x);

void ThemXSauLeCuoi(LIST &l,int x);

void XoaMin(LIST &l);

void XoaPhanTuTruoc_SauX(LIST &l,int x);

void TachDS(LIST &l,LIST &l1,LIST &l2);

Trang 4

cout<<"\n\nMax la:"<<TimMax(l)->data<<endl<<endl; }break;

Trang 6

cout<<"NULL";

}

void XuatChan(LIST l)

Trang 9

NODE* TimX(LIST &l, int x)

Trang 10

void TachDS(LIST &l,LIST &l1,LIST &l2)

Trang 11

void Init(LIST &l);

NODE* GetNode(int x);

void AddHead(LIST &l,NODE* new_ele);

void AddTail(LIST &l,NODE* new_ele);

void InPut(LIST &l);

Trang 13

void AddTail(LIST &l,NODE* new_ele)

HoanVi(p->data,q->data);}

void NoiDS(LIST l1,LIST l2,LIST &l3){

Trang 14

1: Nhập danh sách sinh viên.

2: Xuất danh sách sinh viên.

3: Xoá 1 sinh viên với MSSV khỏi danh sách.

4: Sắp xếp danh sách tăng dần theo điểm trung bình.

5: Liệt kê các sinh viên có điểm trung bình >= 5.

6: Đếm số lượng sinh viên nam.

7: Cập nhật điểm trung bình của 1 SV thông qua MSSV.

Trang 15

void NhapSV(SINHVIEN &x);

void Input(LIST &l,SINHVIEN &sv);

void ChenDau(LIST &l, NODE* ele);

void ChenCuoi(LIST &l,NODE* ele);

void XuatSV(LIST l);

void XuatDSSV(LIST l,SINHVIEN sv);

void XoaSV(LIST &l,char mssv[]);

Trang 18

else cout<<" nu."<<endl;

cout<<" * diem trung binh:

void XoaDau(LIST &l)

{

NODE* h=l.pHead;

l.pHead=l.pHead->pNext;

Trang 20

struct node*pNext;//con tro ke tiep

int info;//kieu so nguyen cho danh sach

Trang 21

void init(LIST &l);//ham gan cho danh sach la NULL

NODE* getnode(int x);//ham tao ra 1 node moi chua so nguyen

void addHead(LIST &l,NODE* new_ele)//ham them 1 node moi vao dau danhsach

void addTail(LIST &l, NODE* new_ele);//ham them node moi vao cuoi danh sach

void input(LIST &l); // ham nhap danh sach

void output(LIST l);// ham xuat danh sach

long sum(LIST l);//ham tinh tong danh sach

void HoanVi(int &a,int &b);// ham hoan vi

void SapXepTang(LIST l);//ham sap xep

p->info=x; // gan so nguyen x vao node moi

p->pNext=NULL;//cho node moi do tro den NULL

l.pTail=l.pHead;//pTail se bang pHead vi chi co

1 node H va T se nam chung

}

else//neu da co tren 1 node trong danh sach thi

{

new_ele->pNext=l.pHead;//node moi tro den pHead

l.pHead=new_ele;//pHead = node moi

Trang 23

Thành viên dưới đây đã cám ơn bài viết này của: jony_vu

reycord (19-09-2012)

148 Cảm ơn 35 Thanked 37 Times in 25 Posts

Node *H;// bang bam

char S[11]={'a','b','c','d','e','f','g','h','i','j','k'};//khai baomang gom 11 phan tu, la cac khoa can tim

// -{

Node *tmp=H[h(x)];

while(tmp!=NULL&& tmp->a!=x) tmp=tmp->Next;

return tmp;

Trang 24

}

void Member(char x)//kiem tra xem co la khoa hay khong

// -{

MakeNull();

for(int i=0;i<11;i++) Insert(S[i]);

cout<<"BANG BAM BAN DAU LA:";

Trang 25

/* nguyen mau cua ham*/

void Initialize( queue *pq);

Trang 26

printf( \n NGUOI SAN XUAT/ NHA TIEU DUNG");

printf( \n 1- Nhap mot mat hang");

printf( \n 2- Xuat mot mat hang");

printf( \n 3- Xem mot mat hang");

printf( \n 4- Xem hang moi nhap");

printf( \n 5- Xem tat ca");

printf( \n 6- Xuat toan bo");

printf( \n Chuc nang chon:");chucnang=getch();

switch(chucnang){

case ‘1’:

printf( \n Ma mat hang:");scanf("%d",&mh.mahang);

printf( \n Ten hang:");scanf("%s", mh.ten);

Trang 27

printf( \n Hang xuat");

printf( \n %6d %20s",q.node[front1].mahang, q.node[front1].ten);

break;

case ‘4’:

printf( \n Hang moi nhap");

printf( \n %5d %20s", q.node[q.rear].mahang,q.node[q.rear].ten);

Ngày đăng: 23/05/2014, 13:05

TỪ KHÓA LIÊN QUAN

w