Social Buttons

Αλγόριθμος Εισαγωγής

Ταξινομούμε το πίνακα ως εξής :


Στο τρέχων στοιχείο του πίνακα , ελέγχεται αν είναι μεγαλύτερο από τον ήδη ταξινομημένο πίνακα , διατρέχοντας τον πίνακα από τα δεξιά προς τα αριστερά

  • Αν είναι μεγαλύτερο από το δεξιότερο στοιχείο τότε παραμένει στην θέση του και συνεχίζονται οι συγκρίσεις .
  • Αν είναι μικρότερο τότε το μετακινούμε μία θέση δεξιά , στη συνέχεια ελέγχουμε το επόμενο κατά αριστερά  του ταξινομημένου τμήματος. 
  • Αν είναι το τρέχον στοιχείο μεγαλύτερο τότε το πάμε στην παλαιά του θέση.
  • Αν είναι μικρότερο τότε επαναλαμβάνουμε τη διαδικασία.

Παράδειγμα :











Παράδειγμα 2 :

Να γραφτεί πρόγραμμα το οποίο θα διαβάζει 5 ακέραιους και να τους αποθηκεύει σε ένα πίνακα να καλεί μία συνάρτηση , η οποία να δέχεται σαν είσοδο τον πίνακα ακεραίων και να τυπώνει τον ταξινομημένο πίνακα σε αύξουσα σειρά .

Λύση :


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include<stdio.h>
#include<stdlib.h>

void alg_eisagogis (int arr[], int length);

int main (void)
{

	int i , pinakas[5];

	for(i=0;i<5;i++)
	{
		printf("Dose ari8mo\n");
		scanf("%d",&pinakas[i]);
	}
	alg_eisagogis(pinakas,5);
	printf("Parakato 9a tipo9ei o pinakas taxinomimenos me auxousa seira \n ");
	for(i=0;i<5;i++)
	{
		printf("%f\n",pinakas[i]);
	}
	return 0;
}

void alg_eisagogis ( int arr[] , int length)
{
	int i , j ,temp;

	for( i=1 ; i<length ; i++)
	{
		temp=arr[i];
		j=i;
		while((j>0)&&(arr[j-i]))
		{
			arr[ j ]= arr[ j-1 ];//to stoixeio pigenei pros ta dexia
			j--;//j=j-1;
		}
		arr[j]=temp;
	}
}
Copyright © 2015 Sofronas Konstantinos - Sotirios. All Rights Reserved. Designed By Sofronas