Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 4 của 4
  1. #1
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    cài đặt hàng đợi bằng mảng

    cài đặt các thao tác với queue(sử dụng mảng , viết trên c). minh họa thông qua dữ liệu nhập từ file. cảm ơn mọi người nhiều. ai code giúp m với [IMG]images/smilies/Cry.gif[/IMG][IMG]images/smilies/Cry.gif[/IMG][IMG]images/smilies/Cry.gif[/IMG]


    tiện cho mình hỏi thao tác với queue sử dụng con trỏ khác ji kiểu mảng?


    Bản code này là kiểu con trỏ hay mảng vậy ạ?


    Mã:
    #include <conio.h>
    #include <stdio.h>
    #define MAX 100
    typedef struct {
    int head,tail,count;
    int node[MAX];
    } queue;
    void QueueInitialize (queue *q){ //khoi tao hang doi
    q->head =0;
    q->tail= MAX-1;
    q->count =0;
    return;
    }
    int QueueEmpty (queue q){ //kiem tra hang doi rong
    return (q.count<=0);
    }
    int QueueFull (queue q){ //kiem tra hang doi day
    return (q.count== MAX); 
    }
    void Put (queue *q,int x ){ //them 1 phan tu vao hang doi 
    if(q->count == MAX)
    printf("Queue is full !");
    else{
    if(q->tail == MAX-1)
    q->tail =0;
    else
    (q->tail)++;
    q->node[q->tail]= x;
    q->count++;
    }
    return;
    }
    int Get(queue *q){ //lay phan tu ra khoi hang doi 
    int x;
    if(QueueEmpty (*q))
    printf("Queue is empty !");
    else {
    x= q->node[q->head];
    if(q->head == MAX-1) 
    q->head=0;
    else
    (q->head)++;
    q->count --;
    }
    return x;
    } 
    void Remove(queue *q,int *x) //lay phan tu ra khoi hang doi roi xoa
    { 
    if (QueueEmpty (*q))
    printf("Queue is empty ! ");
    else {
    if(q->head==q->tail) q->count=0;
    else
    q->head++;
    }
    
    }
    int main()
    {
    FILE *f;
    int n,a;
    Queue q;
    QueueInit(q);
    f=fopen("Queue.inp","rt");
    while(!feof(f)) {
    fscanf(f,"%d",&a);
    Put(q,a);
    }
    fclose(f);
    f=fopen("Queue.out","wt");
    while(QueueEmpty(q)==1){
    Remove(q,a);
    fprintf(f,"%d ",a);
    }
    fclose(f);
    return 0;
    }

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    ae giúp e gấp với [IMG]images/smilies/biggrin.png[/IMG]

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    "Dùng theo kiểu con trỏ" là dùng kiểu gì?
    Chỉ có dùng DSLK hay mảng (bài này) để cài queue thôi!

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi prog10
    "Dùng theo kiểu con trỏ" là dùng kiểu gì?
    Chỉ có dùng DSLK hay mảng (bài này) để cài queue thôi!
    oh bài này làm theo kiểu mảng ntn ạ? [IMG]images/smilies/18.gif[/IMG][IMG]images/smilies/18.gif[/IMG]

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •