标签:循环 冒泡算法 number [] printf bsp ble temp 因此
冒泡算法:
外围for控制大循环需N次,
内存控制每次大循环需比对M次。
因每次大循环,均挪移一个最大(最小值)到Table首或Table尾,因此下一个大循环则比前一次少一个循环(下一个循环挪移【第二大】or【第二小】到对应位置)
#include <stdio.h>
void printTable(int* p, int len)
{
int i;
printf("numberTable: ");
for (i=0; i<len; i++)
{
printf("%d ",*(p+i));
}
printf("\n");
}
void buble_sort(int* p, int len)
{
int i,j,temp;
for (int i=1; i<len; i++)
{
printf("%dst---------------------\n",i);
for (int j=0; j<len-i; j++)
{
if (*(p+j) < *(p+j+1))
{
temp = *(p+j);
*(p+j) = *(p+j+1);
*(p+j+1) = temp;
}
printTable(p, len);
}
}
}
void main(void)
{
int numberTable[] = {5,13,2,76,24,31,1};
int i,j,temp,len=sizeof(numberTable)/sizeof(int);
printf("numberTable len:%d\n", len);
printTable(numberTable, len);
buble_sort(numberTable, len);
/* for (int i=1; i<len; i++)
{
printf("%dst---------------------\n",i);
for (int j=0; j<len-i; j++)
{
if (numberTable[j] < numberTable[j+1])
{
temp = numberTable[j];
numberTable[j] = numberTable[j+1];
numberTable[j+1] = temp;
}
printTable(numberTable, len);
}
} */
}
标签:循环 冒泡算法 number [] printf bsp ble temp 因此
原文地址:https://www.cnblogs.com/tedani/p/9978691.html