Hi,

I want to write a function to perform lexicographical sorting using a simple bubble sort technique. So far I've got the basic code running, but something is not right. I can tell the algorithm is wrong but cannot fix it, please help.

int bubble_sort(char **words, int num_word)
{
	int x, y, z;
	char *temp;

	for (x = 0; x < num_word; x++)
	{
		for (y = 0; y < (num_word-1); y++)
		{
			for (z = 0; z < (WORD_SIZE+1); z++)
			{
				if (words[y][z] < words[y+1][z])
				{
					temp = words[y+1];
					words[y+1] = words[y];
					words[y] = temp;
					break;
				}
				else
				{
					continue;
				}
			}
		}
	}

	return 0;
}

I've tried not to use the third inner loop, but then it will just perform the first letter comparison...And yes, let me stress that strcmp or strncmp should not be used...

Thank you in advance.

Yes but you are no different from the hundreds of other chumps who do exactly the same thing.

They sign up to as many forums as possible, then cherry pick the answers they see fit.

That type of behaviour is annoying at best.

Hi iamthwee,

However, I solved the problem myself: http://www.daniweb.com/forums/post455234.html

The reason why I registered both forums is because I want to get as many thoughts as possible.

Just want to say, I'm a little bit "more" different than other "chumps", maybe not enough to let you Senior Posters (or so) to realize. After all, I know I am a noob to programming, but I'm eager to learn, that's enough for me.

Thank you for your opinion anyways.

Woozy

This article has been dead for over six months. Start a new discussion instead.