Thank you all for being with us.
Learn, Create and Implement.

  • Build Concept

    You can build your concept in programming on programsway.com.

  • Examples

    There are many C Programming examples on programsway.com.

  • Ask Questions

    Ask questions and get quick answers. Request any program and we will publish that program.

  • Tuesday 17 September 2013

    Written by Wyes

    #include<stdio.h>
    #include<stdlib.h>
    int *a;
    void quicksort(int,int);
    int partition(int,int);
    void swap_w(int,int);
    int random_partition(int,int);
    int random_number(int,int);
    main()
    {
      int i,j,n;
      printf("Enter the number of elements ");
      scanf("%d",&n);
      a=(int *)calloc(n,sizeof(int));
      printf("Enter the elements\n");
      for(i=0;i<n;i++)
      scanf("%d",a+i);
      quicksort(0,n-1);
      printf("The sorted sequence is\n");
      for(i=0;i<n;i++)
      printf("%d ",a[i]);
      printf("\n");
      return;
    }
    void quicksort(int i,int j)
    {
      int k;
      if(j-i<1)
      return;
      else
      {
      k=random_partition(i,j);
      quicksort(i,k-1);
      quicksort(k+1,j);
      return;
      }
    }
    random_partition(int i,int j)
    {
      int k;
      k=random_number(i,j);
      swap_w(k,j);
      return(partition(i,j));
    }
    int partition(i,j)
    {
      int m,n;
      m=i-1;
      for(n=i;n<j;n++)
      {
        if(a[n]<=a[j])
    {
    m++;
    swap_w(m,n);
    }
      }
      swap_w(m+1,j);
      return(m+1);
    }
    int random_number(int i,int j)
    {
      return((rand()%(j-i))+i);
    }
    void swap_w(int i,int j)
    {
      int temp;
      temp=a[i];
      a[i]=a[j];
      a[j]=temp;
      return;
    }

    0 comments:

    Post a Comment