阅读背景:

冒泡法与递归解决绝对值排序-99, 98, 102, -101, 100_王陈锋的博客

来源:互联网 

冒泡法与递归解决绝对值排序-99, 98, 102, -101, 100

#include <stdio.h>
#include <math.h>

void swap(int* a, int* b) 
{
	int tmp;
	tmp = *a;
	*a=*b;
	*b=tmp;
}

void printf_list(int list[], int len)
{
    int i;

    for (i = 0; i < len; ++i) 
	{
        printf("%d\t", list[i]);
    }
    printf("\n");
}

void sort_soap(int list[], int len, int fabs_(int ,int))
{
    int i, j;
    for (j = 0; j < len-1; j++)
	{
        for (i = 0; i < len-j-1; i++) 
		{
            if ( fabs_(list[i], list[i + 1]) > 0 ) 
			{
				//交换相邻的两个数
				swap(&list[i], &list[i + 1]);
			}
		}
    }
}

int fabs_(int x ,int y)

{
	int z;
	z=fabs((float)x)-fabs(/*(float)*/y);
	return z;
}
	/*if(z>0)return 1;
	else return */
/*
5
99 98 102 101 100
*/

void main(void)
{
	int list[128]={-99, 98, 102, -101, 100};
    int m=5;

    sort_soap(list, m, fabs_);
    printf_list(list, m);
}
#include



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: