您的位置:首页 > 其它

冒泡法排序的两种方法—指针和数组

2014-11-27 20:02 429 查看
今天给大家带来冒泡法基础算法程序:

1.运用数组,程序如下:

#include<stdio.h>

#define N 10

int main()

{

int a
,i,j,t;

printf("input 10 number:");

for(i=0;i<N;i++)

scanf("%d",&a[i]);

for(i=0;i<N-1;i++)

for(j=0;j<N-i-1;j++)

{

if(a[j]>a[j+1])

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

}

printf("the array after sort:\n");

for(i=0;i<N;i++)

printf("%d\n",a[i]);

printf("\n");

return 0;

}

2.运用指针,程序如下:

#include<stdio.h>

#include<malloc.h>

int main()

{

int i,j,n,temp,*p;

printf("enter number of elements in the array:\n");

scanf("%d",&n);

p=(int *)malloc(n*sizeof(int));

if(p==NULL)

{

printf("memory error\n");

return 0;

}

for(i=0;i<n;i++)

{

printf("enter element no.%d:",i+1);

scanf("%d",p+i);

}

for(i=0;i<n-1;i++)

{

for(j=i+1;j<n;j++)

{

if(*(p+i)>*(p+j))

{

temp=*(p+i);

*(p+i)=*(p+j);

*(p+j)=temp;

}

}

}

for(i=0;i<n;i++)

{

printf("%d\n",*(p+i));

}

free(p);

p=NULL;

}

*如果直接复制粘贴,可能会出现unknown character '0xa1的错误,这时你可以采取1.自己打一遍代码;2.将代码粘贴到Word文档,然后用替代功能把全角空格换成英文输入下的空格即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐