在堆区申请10个连续空间
,手动输入10个数(乱序)
,采用简单选择排序,输出排序后的结果。
注意:main函数在main.c 输入函数,
输出函数,排序函数,在sort.c
#include "sort.h"
/*
*
*在堆区申请10个连续空间
,手动输入10个数(乱序)
,采用简单选择排序,输出排序后的结果。
注意:main函数在main.c 输入函数,
输出函数,排序函数,在sort.c
*
*
*/
int main(int argc, const char *argv[])
{
int *p=malloc(sizeof(int)*10);
printf("请输入10个无序的数>>>>\n");
sr(p);
printf("排序后的结果为;\n");
px(p);
free(p);
return 0;
}
#include "sort.h"
int sr(int *p)
{
int i;
for(i=0;i<10;i++)
{
scanf("%d",p+i);
}
}
int px(int *p)
{
int i,j,max,t;
for(i=0;i<10-1;i++)
{
max=i;
for(j=i+1;j<10;j++)
{
if(p[max]<p[j])
{
max=j;
}
if(i!=max)
{
t=p[i];
p[i]=p[max];
p[max]=t;
}
}
}
for(i=0;i<10;i++)
{
printf("%d\t",*(p+i));
}
}
#ifndef _SORT_H_
#define _SORT_H_
#include <myhead.h>
int sr(int *p);
int px(int *p);
#endif
#include "find.h"
#define MAX 10
/*
*
*在堆区申请10个连续空间,
手动输入10个数(递增),输入关键字key,
采用折半查找方式查找关键字是否存在,
存在给出位置,不存在,输出查找失败。
注意:main函数在main.c 输入函数,输出函数,查找函数,在find.c
*
*
*/
int main(int argc, const char *argv[])
{
int *p=malloc(sizeof(int)*MAX);
printf("请输入10个递增的数>>>>\n");
sr(p);
printf("输入的数为:\n");
sc(p);
int i;
printf("请输入要查找的数字>>>\n");
scanf("%d",&i);
cz(i,p);
return 0;
}
#include "find.h"
int sr(int *p)
{
int i;
for(i=0;i<10;i++)
{
scanf("%d",(p+i));
}
}
int sc(int *p)
{
int i;
for(i=0;i<10;i++)
{
printf("%d\t",*(p+i));
}
}
int cz(int a,int *p)
{
int i=0,j=10-1,fit=-1;
int min=(i+j)/2;
while(i<=j)
{
if(a<p[min])
{
i=min+1;
}
else if(a>p[min])
{
j=min-1;
}
else
{
fit=min;
break;
}
}
if(fit==-1)
{
printf("不存在");
}
else
{
printf("存在");
}
}
#ifndef _FIND_H_
#define _FIND_H_
#include <myhead.h>
int sr(int *p);
int sc(int *p);
int cz(int a,int *p);
#endif