⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eg1.cpp

📁 C++课程更学习...对于初学者很有好出
💻 CPP
字号:
// eg1_冒泡.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <stdio.h>
#include <time.h>
#include <stdlib.h>

// 冒泡排序
void BubbleSort(int nA[], int nCount)
{
	for (int i=0; i<nCount-1; i++)
	{
		for (int j=nCount-1; j>i; j--)
		{
			if (nA[j] < nA[j-1])
			{
				int nTemp = nA[j];
				nA[j] = nA[j-1];
				nA[j-1] = nTemp;
			}
		}

	}
}

// 选择排序
void SelectSort(int nA[], int nCount)
{
	for (int i=0; i<nCount-1; i++)
	{
		// 查找最小数将其下标保存到k
		int k = i;
		for (int j=i; j<nCount; j++)
		{
			if (nA[j] < nA[k])
				k = j;
		}

		// 交换nA[i]与nA[k]
		int nTemp = nA[i];
		nA[i] = nA[k];
		nA[k] = nTemp;
	}
}

// 快速排序
int compare(const void *elem1, 
			const void *elem2)
{
	int* pA = (int*)elem1;
	int* pB = (int*)elem2;
	if (*pA < *pB)
		return -1;
	else if (*pA == *pB)
		return 0;
	else 
		return 1;
}

int main(int argc, char* argv[])
{
//	int nA[10] = {1,3,5,7,9,2,4,6,8,0};

#if 1
	int nA[20] = {0};
	srand(time(NULL));
	for (int k=0; k<1000; k++)
	{
		nA[k] = rand();
	}
#endif

	// 冒泡排序
	//BubbleSort(nA, sizeof(nA)/sizeof(int));

	// 选择排序
	SelectSort(nA, sizeof(nA)/sizeof(int));

	// 快速排序
	//qsort(nA, sizeof(nA)/sizeof(int), sizeof(int), compare);

	for (int i=0; i<sizeof(nA)/sizeof(int); i++)
	{
		printf("%d ", nA[i]);
		if ((i+1) % 10 == 0)
			printf("\n");
	}

	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -