Reply to this topicStart new topicStart Poll

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
sladja92
post Feb 28 2010, 05:27 PM
Post #2





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



uradila konacno biggrin.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
pyost
post Feb 28 2010, 05:30 PM
Post #3


Deus Ex Makina
Group Icon

Group: Administratori
Joined: 25-January 06
From: Beograd
Member No.: 2
Status: Bivši učenik MGa
Škola/Razred: RAF



Okaci kôd, mozda zatreba nekom drugom wink.gif


--------------------
Baby, it's a violent world.

Registrovani korisnik Linuxa broj 460770 [Ubuntu 7.10]
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Picsel
post Feb 28 2010, 05:47 PM
Post #4





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
sladja92
post Mar 3 2010, 06:08 PM
Post #5





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



Oh sorry nisam imala vremena odmah da okacim, ali sam nameravala, u svakom slucaju hvala Picsel smile.gif
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

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