[ Outline ] · Standard · Linear+

> Merge Sort

sladja92
post Feb 28 2010, 04:57 PM
Post #1





Group: Članovi
Joined: 30-July 07
From: KG
Member No.: 606
Status: Van MGa
Ime i prezime: Sladjana Nikolić
Škola/Razred: Prva kragujevačka gimnazija IIsm



Ako neko ima merge sort u c-u molim ga neka mi posalje na mail ili okaci kod ovde.Please treba mi za sutra.Probala sam sama da uradim nije da se nisam trudila ali nema sanse....
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
 
Reply to this topicStart new topicStart Poll
Replies
Picsel
post Feb 28 2010, 05:47 PM
Post #2





Group: Članovi
Joined: 15-March 09
Member No.: 1.152
Status: Van MGa
Ime i prezime: Vanja Petrović Tanković
Škola/Razred: Računarski fakultet



CODE
//merge sort
#include <stdio.h>
#define MAX_SIZE 100000

void merge(int niz[], int pocetak, int kraj)
{
 int pomniz[MAX_SIZE],brojac=pocetak,pola=(pocetak+kraj)/2,srednji=pola+1,pocorig=pocetak;
 while ((pocetak<=pola) && (srednji<=kraj))        
   if (niz[pocetak]<=niz[srednji])                  
     pomniz[brojac++]=niz[pocetak++];              
   else                                            
     pomniz[brojac++]=niz[srednji++];              
 if (pocetak<=pola)                                
   while (pocetak<=pola)                            
     pomniz[brojac++]=niz[pocetak++];    
 else
   while (srednji<=kraj)
     pomniz[brojac++]=niz[srednji++];  
 for (brojac=pocorig; brojac<=kraj; brojac++)      
   niz[brojac]=pomniz[brojac];  
}

void mergesort(int niz[], int pocetak, int kraj)
{
 if (pocetak<kraj)
 {
   int srednji=(pocetak+kraj)/2;
   mergesort(niz,pocetak,srednji);  //merge sort prve polovine
   mergesort(niz,srednji+1,kraj);   //merge sort druge polovine
   merge(niz,pocetak,kraj);         //spajanje polovina i zajednicko sortiranje         
 }          
}

int main()
{
 int n,i,niz[MAX_SIZE];  
 scanf("%d",&n);
 for (i=0; i<n; i++)
   scanf("%d",niz+i);
 mergesort(niz,0,n-1);   //poziv merge sorta
 for (i=0; i<n; i++)
   printf("%d ",niz[i]);
 system("pause");
 return 0;
}      


This post has been edited by Picsel: Feb 28 2010, 05:50 PM
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Posts in this topic
sladja92   Merge Sort   Feb 28 2010, 04:57 PM
sladja92   RE: Merge Sort   Feb 28 2010, 05:27 PM
pyost   RE: Merge Sort   Feb 28 2010, 05:30 PM
Picsel   RE: Merge Sort   Feb 28 2010, 05:47 PM
sladja92   RE: Merge Sort   Mar 3 2010, 06:08 PM


Reply to this topicTopic OptionsStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members: