[ create a new paste ] login | about

Link: http://codepad.org/5UZIz01p    [ raw code | output | fork ]

C, pasted on Jun 18:
#include <stdio.h>
#include <stdlib.h>
#define	N_DATA	50000

void swap ( int data[], int i, int j )
{
	int		buf;

	buf = data[i];
	data[i] = data[j];
	data[j] = buf;
}

void quickSort ( int data[], int n )
{
	int		i;
	int		last;

	if ( n <= 1 )
	{
		return;
	}
	swap ( data, 0, rand() % n );

	for ( i=1, last=0; i < n; i++ )
	{
		if ( data[i] < data[0] )
		{
			last++;
			swap ( data, last, i );
		}
	}
	swap ( data, 0, last );

	quickSort ( data, last );
	quickSort ( data+last+1, n-last-1 );
}

int main ( void )
{
	int		i;
	int		data[N_DATA];
	FILE*	fp;

	fp = fopen ( "data.txt", "w" );

	for ( i=0; i < N_DATA; i++ )
	{
		data[i] = rand();
	}

	quickSort ( data, N_DATA );

	for ( i=0; i < N_DATA; i++ )
	{
		fprintf ( fp, "%d\n", data[i] );
	}
	
	fclose ( fp );
}


Output:
1
Segmentation fault


Create a new paste based on this one


Comments: