Bài 5. Tạo danh sách fifo gồm các số nguyên. sắp xếp chúng theo thứ tự tăng dần . Thêm số nguyên x vào đầu. xóa phần tử đầu danh sách.

Thursday, November 27, 2014
#include <conio.h>
#include <stdio.h>
typedef struct node
{
      int info;
     node *link;
};
node *nhap(node *f,node *l,int n)
{
      node *p;
      for(int i=0;i<n;i++)
      {
      p=new(node);
      printf("nhap so nguyen n= ");
      scanf("%d",&p->info);
      p->link=NULL;
      if(f==NULL)
      {
            f=p;l=p;
      }
      else { l->link=p;l=p;}
      } return f;
}
void xem(node *f)
{
      node *p;
      p=f;
      while(p!=NULL)
      {
      printf("%5d",p->info);
      p=p->link;
      }
}
void sapxeptang(node *f)
{
      node *p1,*p2;
      int tg;
      p1=f;
      while(p1->link!=NULL)
      {
            p2=p1->link;
            while(p2!=NULL)
            {
                  if(p1->info>p2->info)
                  {
                        tg=p1->info;
                        p1->info=p2->info;
                        p2->info=tg;
                  }
                   p2=p2->link;
            }p1=p1->link;
      }
}
node *bosungdau(node *f)
{
      node *p;
      p=new(node);
      printf("\n\nnhap phan tu bo sung dau: ");
      scanf("%d",&p->info);
      p->link=f;
      f=p;
      return f;
}
node *xoadau(node *f)
{
if(f==NULL) return f;
      node *p;
      p=f;
      f=p->link;
      delete (p);
      return f;
}
int main()
{
      node *f=NULL,*l=NULL;int n;
      printf("\nnhap n= ");
      scanf("%d",&n);
      f=nhap(f,l,n);
      printf("\n\ndanh sach vua nhap la: ");
      xem(f);
      sapxeptang(f);
      printf("\n\ndanh sach sau khi sap xep tang la: ");
      xem(f);
      f=bosungdau(f);
      printf("\n\ndanh sach sau khi bo sung dau la: ");
      xem(f);
      f=xoadau(f);
      printf("\n\ndanh sach sau khi xoa dau la: ");
      xem(f);
      getch();
}



Chia sẻ bài viết ^^
Other post

All comments [ 0 ]


Your comments