冒泡法排序的两种方法—指针和数组
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文档,然后用替代功能把全角空格换成英文输入下的空格即可。
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文档,然后用替代功能把全角空格换成英文输入下的空格即可。
相关文章推荐
- 通过数组初始化链表的两种方法:指向指针的引用node *&tail和指向指针的指针(二维指针)node **tail
- c++ 基础 指针访问数组两种方法 下标法 指针法
- 通过数组初始化链表的两种方法:指向指针的引用node *&tail和指向指针的指针(二维指针)node **tail
- 实现冒泡排序。(排序整形数组)。使用数组和指针两种方法。
- c++之Vector容器数据两种取值方法(指针访问,数组下标访问)
- 指针操作数组的两种方法(总结)
- 1.如何避免野指针2.获取字符串的两种方法。以及malloc,calloc,ralloc的使用注意点3.二维三维数组4.数组和函数的区别
- 10.6 分别用字符数组和字符指针作函数参数两种方法编程实现在字符串每个字符间插入一个空格的功能
- 切分 字符串指针数组(如环境变量) 的两种方法, 数组下标 和 指针
- 不排序,两种方法找到无序数组的最大K个数
- 改变鼠标指针形状两种方法及实例
- 从大到小排列两个数(指针的两种方法)
- PHP中数组合并的两种方法及区别介绍
- @V@ java代码笔记2010-06-12:java控制台输入各类型类实现;以及判断输入字符串里面是否有数字的两种方法:方法1:转换成字符数组;方法2:正则表达式。
- 二分查找 数组和指针方法
- C指针与数组两种形式的区别
- 数组的函数传递的两种方式(数组名和指针)
- 改变鼠标指针形状两种方法及实例
- 两种合并数组方法。
- 存放字符串数组的两种方法