标签:数组 [1] for lib 实现 思想 sizeof 交换 scan
冒泡排序是交换排序的一种。我们可以将数组中的元素想像成一个个气泡。数值大的元素气泡重量大。我们可以自上而下的扫描数组,遇到不符合规则的,
重气泡就往下沉。直到所有的气泡都是轻气泡在上,重气泡在下。这就完成了排序的任务。
最重的气泡被送到了最下面。
1 #include <stdio.h> 2 #include <stdlib.h> 3 void BubbleSort(int *Array,int n){ 4 int a,i,j; //交换两个值的辅助变量 5 for(i=n-1;i>0;i--) //扫描n-1次 6 for(j=0;j<i;j++){ //从0到n-2,将小的元素交换到前面。 7 if(*(Array+j)>*(Array+j+1)){ 8 a=*(Array+j); 9 *(Array+j)=*(Array+j+1); 10 *(Array+j+1)=a; 11 } 12 } 13 } 14 int main() 15 { 16 int *p,n,i; 17 printf("请输入数组的个数:"); 18 scanf("%d",&n); 19 p=(int*)malloc(sizeof(int)*n); 20 printf("输入元素:"); 21 for(i=0;i<n;i++) 22 scanf("%d",p+i); 23 BubbleSort(p,n); 24 printf("排序后的数组:"); 25 for(i=0;i<n;i++){ 26 printf("%d ",*(p+i)); 27 } 28 return 0; 29 }
标签:数组 [1] for lib 实现 思想 sizeof 交换 scan
原文地址:https://www.cnblogs.com/tangdingkang/p/10753922.html