c语言用指针定义排序函数 c语言用指针实现字符串排序

C语言程序设计之中的 指针排序#includestdio.h
void input(int *p,int num)
{
// int a[10]; 不能在子函数中再定义了,要用形参对应的实参, 子函数中定义的是局部变量,函数完成时,变量就释放了 。
// for(p=a;pa 10;p)
int i;
for(i=0;inum;i)
scanf("%d",p i);
}
void sort(int *p,int num)
{
// int a[10]; 同前
int i,j,temp;
// for(p=a;pa 10;p)
for(i=0;inum;i) //数组下标从0开始
{
for(j=i 1;jnum;j)
if(p[i]p[j])
{
temp=p[i];
p[i]=p[j];
p[j]=temp;
}
}
}
void output(int *p,int num)
{
//int a[10]; 同前
// for(p=a;pa 10;p)
int i;
for(i=0;inum;i)
printf("%d ",*(p i));
}
int main()
{
int a[10];
input(a,10);
sort(a,10);
output(a,10);
return 0;
}
c语言用指针写选择法排序函数你的程序没错,只不过这不是选择法,是冒泡发,选择发如下:
void sort(int *a,int n)
{
int i,j,t,temp;
for(i=0;in-1;i)
{
t=i;/初始定义t为未排序数的第一个
for(j=i 1;jn;j)
{
if(*(a t)*(a j))/挑选出更大的数的位置,把他赋给t
t=j;
}
temp=*(a i);/t是最大的那个数的位置,把他和未排序的第一个交换位置
*(a i)=*(a t);
*(a t)=temp;
}
}
main()
{
int i,a[10],*p=a;
printf("input zhe array a:\n");
for(i=0;i10;i)
scanf("%d",p);
printf("\n");
p=a;
sort(p,10);
p=a;
printf("zhe sort array is:\n");
for(i=0;i10;i)
printf("%d,",a[i]);
getch();
}
c语言用指针写选择排序法你c语言用指针定义排序函数的程序没错c语言用指针定义排序函数,只不过这不是选择法c语言用指针定义排序函数,是冒泡发c语言用指针定义排序函数,选择发如下c语言用指针定义排序函数:
void sort(int *a,int n)
{
int i,j,t,temp;
for(i=0;in-1;i)
{
t=i;/初始定义t为未排序数的第一个
for(j=i 1;jn;j)
{
if(*(a t)*(a j))/挑选出更大的数的位置,把他赋给t
t=j;
}
temp=*(a i);/t是最大的那个数的位置,把他和未排序的第一个交换位置
*(a i)=*(a t);
*(a t)=temp;
}
}
main()
{
int i,a[10],*p=a;
printf("input zhe array a:\n");
for(i=0;i10;i)
scanf("%d",p);
printf("\n");
p=a;
sort(p,10);
p=a;
printf("zhe sort array is:\n");
for(i=0;i10;i)
printf("%d,",a[i]);
getch();
}
C语言使用指针实现选择法排序 。#include<stdio.h>
voidprint_result(float*,int);
voidSelect_Sort(float*,int);
intmain()

inti;
floatarray[10];
float*pointer;
printf("请输入10个数:\n");
for(i=0;i<10;i++)

scanf("%f",&array[i]);

pointer=array;
Select_Sort(pointer,10);
print_result(pointer,10);
return0;

voidprint_result(float*p,intn)
{//输出结果
intk;
for(k=0;k<n;k++)

printf("%g\t",*(p+k));


voidSelect_Sort(float*pt,intn)
{//全用指针的选择排序法
inti,j,k;
floattempnum;
for(i=0;i<n;i++){
k=i;
for(j=i+1;j<n;j++)

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

k=j;


tempnum=*(pt+i);
*(pt+i)=*(pt+k);
*(pt+k)=tempnum;


扩展资料:
其它方法:
voidSelectSort(intarr[] , intn)

printf("\n选择排序法过程:\n");
inti , j,k , l,t;
for(i=0;i<n;i++)

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

if(arr[j]<arr[k])

k=j;


if(k?。絠)

t=arr[i];arr[i]=arr[k];arr[k]=t;
【c语言用指针定义排序函数 c语言用指针实现字符串排序】
for(l=0;l<n;l++)

printf("%3c" , arr[l]);

printf("\n");


关于c语言用指针定义排序函数和c语言用指针实现字符串排序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读