龙空技术网

C语言-数组元素收缩交换

肌肉诗男 196

前言:

如今兄弟们对“c语言缩”大致比较注意,大家都需要学习一些“c语言缩”的相关知识。那么小编在网上收集了一些有关“c语言缩””的相关知识,希望你们能喜欢,看官们快快来学习一下吧!

①源程序

不要被字母迷惑,要按意群理解。

#include< stdio.h>

void fun(int*s,int a,int b)

{

int i,j,t;

i=a;j=b;

while(i<j)

{t=*(s+i);*(s+i)=*(s+j);*(s+j)=t;

/*交换语句,交换指针所指两个元素*/

i++;j--;}

/*收缩语句,交换两个元素之后,首尾向内收缩,继续交换内侧两个元素,直到首尾相遇*/

}

main( )

{int a[10]={1,2,3,4,5,6,7,8,9,0},i,*p=a;

fun(p,0,3);

/*以a[0]和a[3]为首尾,收缩交换*/

fun(p,4,9);

/*以a[4]和a[9]为首尾,收缩交换*/

fun(p,0,9);

/*以a[0]和a[9]为首尾,收缩交换*/

for(i=0;i<10;i++)printf("%d",*(a+i));}

~

②计算过程

原数组为

a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9]

1,2,3,4,5,6,7,8,9,0

fun(p,0,3)之后的变化

1,2,3,4,5,6,7,8,9,0

4,2,3,1

4,3,2,1

4,2,3,1,5,6,7,8,9,0

fun(p,4,9)之后的变化

4,2,3,1,5,6,7,8,9,0

-,-,-,-,0,6,7,8,9,5

-,-,-,-,0,9,7,8,6,5

-,-,-,-,0,9,8,7,6,5

4,2,3,1,0,9,8,7,6,5

fun(p,0,9)之后的变化

4,2,3,1,0,9,8,7,6,5

5,2,3,1,0,9,8,7,6,4

5,6,3,1,0,9,8,7,2,4

5,6,7,1,0,9,8,3,2,4

5,6,7,8,0,9,1,3,2,4

5,6,7,8,9,0,1,3,2,4

标签: #c语言缩 #c语言数组元素交换 #数组元素交换位置 c语言