Loading... <div class="panel panel-default collapse-panel box-shadow-wrap-lg"><div class="panel-heading panel-collapse" data-toggle="collapse" data-target="#collapse-24dbcdb1a480a814d401b3889ebaaeb021" aria-expanded="true"><div class="accordion-toggle"><span style="">思路</span> <i class="pull-right fontello icon-fw fontello-angle-right"></i> </div> </div> <div class="panel-body collapse-panel-body"> <div id="collapse-24dbcdb1a480a814d401b3889ebaaeb021" class="collapse collapse-content"><p></p> 指针所指值替换 <p></p></div></div></div> ```cpp #include <stdio.h> int main ( ) { void sort ( int * , int ) ; int i , a[ 10 ] = { 9 , 7 , 8 , 5 , 6 , 3 , 4 , 0 , 1 , 2 } , *b ; b = a ; for ( i = 0 ; i < 10 ; i++ ) { printf ( "%d" , * b ) ; //自右向左 (注:*b++,这种写法错误 ) b++ ; } printf ( "\n") ; sort ( a , 10 ) ; for ( i = 0 ; i < 10 ; i ++ ) { printf ( "%d" , a [i] ) ; } return 0 ; } void sort ( int x [] , int n ) { int temp , *i , *j , m = ( n - 1 ) / 2 , *a ; // 设置指针变量 i , j 后面利用 i++ ,j++ 实现指针进位退位交替 设置 m 为中间数 ;对称交替轴 a = x + m ; for ( i = x , j = x + n -1 ; i <= a ; i ++ , j -- ) { temp = *i ; *i = * j ; // 利用中间量 , 交替指针所指值 *j = temp ; } } ``` 最后修改:2021 年 05 月 13 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果文章有用,请随意打赏。