189 8069 5689

c语言用数组和子函数排序 c语言数组的排序方法

C语言的题用函数实现数组数据的增加,删除,修改,查找和排序

#includestdio.h

创新互联公司是一家网站设计、做网站,提供网页设计,网站设计,网站制作,建网站,定制网站开发,网站开发公司,2013年开创至今是互联行业建设者,服务者。以提升客户品牌价值为核心业务,全程参与项目的网站策划设计制作,前端开发,后台程序制作以及后期项目运营并提出专业建议和思路。

#define maxn 1024

int arr[maxn], n;

void add(int value)

{

arr[n - 1] = value;

return;

}

void del(int index)

{

int i, j;

for(i = index; i  n - 1; i++)

arr[i] = arr[i + 1];

n--;

return;

}

void update(int index, int value)

{

arr[index] = value;

return;

}

void search(int index)

{

printf("%d\n", arr[index]);

return;

}

void BubbleSort(int count)

{

int i, j;

for(i = 0; i  count; i++)

{

for(j = count - 1; j  i; j--)

{

if(arr[j]  arr[j-1])

{

int temp = arr[j-1];

arr[j - 1] = arr[j];

arr[j] = temp;

}

}

}

return;

}

int main(void)

{

n = 0;

return 0;

}

C语言:输入5个数,用调用函数的方法,从小到大排序 用简单点的

#includestdio.h

void sort(float *a, int n)

{

int i,j,tmp;

for(i=0; in-1; i++)

for(j=0; jn-i-1; j++)

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

{

tmp = a[j];

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

a[j+1] = tmp;

}

}

void main()

{

float a[5];

int i;

printf("请输入五个数(逗号隔开):");

scanf("%f,%f,%f,%f,%f",a[0],a[1],a[2],a[3],a[4]);

sort(a,5);

printf("排序后为:");

for(i=0; i5; i++)

printf("%.2f ",a[i]);

printf("\n");

}

或者三个数的。

void sort(int *a, int *b, int *c)

{

int tmp;

if(*a*b){

tmp = *b;

*b = *a;

*a = tmp;

}

if(*a*c){

tmp = *c;

*c = *a;

*a = tmp;

}

if(*b*c){

tmp = *c;

*c = *b;

*b = tmp;

}

return;

}

扩展资料:

C语言中没有预置的sort函数。如果在C语言中,遇到有调用sort函数,就是自定义的一个函数,功能一般用于排序。

一、可以编写自己的sort函数。

如下函数为将整型数组从小到大排序。void sort(int *a, int l)//a为数组地址,l为数组长度。

{  

int i, j;  

int v;    //排序主体

for(i = 0; i l - 1; i ++)      

for(j = i+1; j l; j ++)

 

{          

if(a[i] a[j])//如前面的比后面的大,则交换。

     

{

         

v = a[i];

         

a[i] = a[j];

         

a[j] = v;

     

}

 

}

}

对于这样的自定义sort函数,可以按照定义的规范来调用。

二、C语言有自有的qsort函数。

功 能: 使用快速排序例程进行排序。头文件:stdlib.h

原型:

void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));

参数:

1、待排序数组首地址。

2、数组中待排序元素数量。

3、各元素的占用空间大小4 指向函数的指针,用于确定排序的顺序,这个函数必须要自己写比较函数,即使要排序的元素是int,float一类的C语言基础类型。

C语言。数组排序函数(数组,函数,排序)

//#include "stdafx.h"//vc++6.0加上这一行.

#include "stdio.h"

void Sort(int *p,int n){

int i,j,k;

for(i=0;i10;i++){

for(k=i,j=i+1;j10;j++)

if(p[k]p[j]) k=j;

if(k!=i){

j=p[k];

p[k]=p[i];

p[i]=j;

}

}

}

void main(void){

int mat[10],i;

printf("Type 10 integers...\n");

for(i=0;i10;scanf("%d",mat+i++));

Sort(mat,10);

for(i=0;i10;printf("%d ",mat[i++]));

printf("\n");

}

C语言 写一主函数输入一组数,写一子函数,实现对该数组的冒泡(从小到大和从大到小各一个程序)排序并输

冒泡法,从小到大

# include stdio.h

void sx(int x[],int n) //冒泡法从小到大

{ int i,j,t;

for(j=0;jn-1;j++)

for(i=0;in-j;i++)

if(x[i]x[i+1]) {t=x[i];x[i]=x[i+1];x[i+1]=t;}

}

void main()

{ int a[10],i;

printf("Input 10 numbers:");

for(i=0;i10;i++)

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

sx(a,10);

printf("从小到大:");

for(i=0;i10;i++)

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

}

比较法从大到小:

# include stdio.h

void sx(int x[],int n)

{ int i,j,t;

for(i=0;in-1;i++)

for(j=i+1;jn;j++)

if(x[i]x[j]) {t=x[i];x[i]=x[j];x[j]=t;}

}

void main()

{ int a[10],i;

printf("Input 10 numbers:");

for(i=0;i10;i++)

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

sx(a,10);

printf("cong da dao xiao:");

for(i=0;i10;i++)

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

}

用C语言写一个子函数完成对一整型数组从大到小的排序

#includestdio.h

#includestdlib.h

int main()

{

void sort(int x[],int n);

int *p,i;

int N;

printf("please input the total num:");

scanf("%d",N);

int a[N];

printf("please input the %d num:\n",N);

p=a;

for(i=0;iN;i++)

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

p=a;

sort(p,N);

for(p=a,i=0;iN;i++)

{printf("%d ",*p);p++;}

system("pause");

}

void sort(int x[],int n)

{

int i,j,k,t;

for(i=0;in-1;i++)

{k=i;

for(j=i+1;jn;j++)

if(x[j]x[k])

k=j;

if(k!=i)

{t=x[i];x[i]=x[k];x[k]=t;}

}

}


本文标题:c语言用数组和子函数排序 c语言数组的排序方法
文章地址:http://cdxtjz.cn/article/hiisjh.html

其他资讯