Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,990 questions

51,935 answers

573 users

How to implement selection sort in C

1 Answer

0 votes
#include <stdio.h>     
#include <time.h> 
#include <stdlib.h>        

void swap(int *x, int *y) {
	int tmp = *x;
	*x = *y;
	*y = tmp;
}

void selection_sort(int *array, int size) {
	int *next, *before, *last = array + size - 1;

	for (; array < last; array++)
	{
		before = array;
		for (next = array + 1; next <= last; next++)
			if (*before > *next)
				before = next;
		swap(array, before);
	}
}

int main(void)
{
	const int size = 20;
	int arr[size];

	srand((unsigned int)time(NULL));

	for (int i = 0; i < size; i++)
		arr[i] = (rand() % 1000);

	selection_sort(arr, size);

	for (int i = 0; i < size; i++)
		printf("%d\n", arr[i]);
	
	return 0;
}


/*
run:

32
143
186
225
241
400
426
441
610
653
670
752
769
770
800
812
825
867
913
998

*/

 



answered May 12, 2018 by avibootz

Related questions

1 answer 186 views
186 views asked May 12, 2018 by avibootz
2 answers 545 views
545 views asked May 13, 2018 by avibootz
1 answer 204 views
1 answer 178 views
1 answer 202 views
202 views asked May 12, 2018 by avibootz
1 answer 228 views
228 views asked May 12, 2018 by avibootz
1 answer 176 views
176 views asked May 12, 2018 by avibootz
...