冒泡排序 一个简单示例

sort.c

void swap(int iList[], int a, int b)
{
	int temp;

	temp = iList[a];
	iList[a] = iList[b];
	iList[b] = temp;
}

void bubbleSort(int iList[], int iLength)
{
	int i, j;

	j = 1;

	while(1)
	{
		for(i = 0; i < iLength - j; i++)//a trip
		{
			if(iList[i] > iList[i + 1])
			{
				swap(iList, i, i + 1);
			}
		}
		if(j == iLength - 1)
		{
			break;
		}
		j++;
	}
}

main.c

#include 

int iList[] = {23, 34, 232, 88, 11, 743, 22};

int main(void)
{
	int i;
	void bubbleSort(int iList[], int iLength);
	int iLength = sizeof(iList) / sizeof(iList[0]);

	bubbleSort(iList, iLength);

	for(i = 0; i < iLength; i++)
	{
		printf(i == iLength - 1 ? "%d\n" : "%d,", iList[i]);
	}
	return 0;
}


你可能感兴趣的:(面试题操练场)