📄 eg1.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 + -