排列函数c语言 c++排列函数

c语言中几个数组成的数的全排列用什么函数

C语言中没有吧?C++中倒是有一个:

站在用户的角度思考问题,与客户深入沟通,找到汕尾网站设计与汕尾网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站制作、做网站、外贸营销网站建设、企业官网、英文网站、手机端网站、网站推广、域名申请、虚拟空间、企业邮箱。业务覆盖汕尾地区。

next_permutation(array,array+arrlength)

使用的头文件是#include algorithm

示例:

#include iostream

#include algorithm    /// next_permutation, sort

using namespace std;

int main () {

int myints[] = {1,2,3,1};

sort (myints,myints+4);

do {

cout  myints[0]  ' '  myints[1]  ' '  myints[2]  ' ' myints[3]'\n';

} while ( next_permutation(myints,myints+4) );    ///获取下一个较大字典序排列

cout  "After loop: "  myints[0]  ' '  myints[1]  ' '  myints[2]  ' ' myints[3] '\n';

return 0;

}

如何用函数实现三个数的排序(用的是C语言)

一:全局变量

#include stdio.h

int a,b,c;  //定义三个全局变量

void sort()  //不需要参数

{

int t;

if(ab)

{

t=a;a=b;b=t;

}

if(bc)

{

t=b;b=c;c=t;

}

if(ab)

{

t=a;a=b;b=t;

}

}

int main()

{

printf("输入:");

scanf("%d%d%d",a,b,c);

sort();

printf("排序:%d  %d  %d\n",a,b,c);

return 0;

}

二:指针

#include stdio.h

void sort(int *a, int *b, int *c) //参数传递方式:地址传递

int t;

if(*a*b) 

{

t=*a;*a=*b;*b=t;

}

if(*b*c)

{

t=*b;*b=*c;*c=t;

}

if(*a*b) 

{

t=*a;*a=*b;*b=t;

}

}

int main()

{

int a,b,c;

printf("输入:");

scanf("%d%d%d",a,b,c);

sort(a,b,c);               //把地址作为参数

printf("排序:%d  %d  %d\n",a,b,c);

return 0;

}

c语言怎么用自定义函数排序

#include stdio.h

#include string.h#define NUM 3

struct student

{

char name[20]; /*姓名*/

long num; /*12位学号*/

double sum; /*总分*/

};

void Create_Students(struct student stu[NUM])

{

struct student *p;

printf("请输入学生姓名 学号(12位) 总分:\n");

for( p = stu; p stu+NUM; p++)

{

scanf("%s %d %lf",p-name,p-num,p-sum); }

}

void Order_Students(struct student stu[NUM])//起泡法

{

int i,j;

struct student temp;

for(i=NUM-1;i=0;i--)

for(j=0;ji;j++)

if(stu[j].sumstu[j+1].sum)

{

temp = stu[j];

stu[j] = stu[j+1];

stu[j+1]=temp;

}

}

void main()

{

int i=1;

struct student *p;

struct student stu[NUM];

Create_Students(stu);

Order_Students(stu);

printf("%-20s %-13s %-6s %4s\n","姓名","学号(12位)","总成绩","名次");

for(p=stu;pstu+NUM;p++,i++)

{

printf("%-20s %-13.0d %-8.2f %2d\n",p-name,p-num,p-sum,i);

}

}//你参考参考,嘿

用C语言编写函数,功能是可以实现一维数组的从小到大的排序,数组长度为8

#include stdio.h

void func(int *a)

{

int i,j,temp;

for(j=0;j=7;j++) 

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

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

temp=a[i]; 

a[i]=a[i+1]; 

a[i+1]=temp;

}

int main()

{

int a[8]={8,7,6,5,4,3,2,1};

func(a);

for(int i=0;i8;i++)

{

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

}

return 0;

}

func就是功能函数实现数组a[8]的排序。


网站标题:排列函数c语言 c++排列函数
标题网址:http://myzitong.com/article/hpspjc.html