[27444] 2020-01-30_Rust算法排位记-插入排序的图示与代码实现

文档创建者:s7ckTeam
浏览次数:11
最后更新:2025-01-19
2020-01-30_Rust算法排位记-插入排序的图示与代码实现 R u s t     -       N i g h t T e a m   2 0 2 0 - 0 1 - 3 0   R u s t   R u s t   I n s e r t i o n   S o r t
1 . 2 . 3 . 4 . 5 .   7   f o r     1     0     7     f o r     1     2 1   [ 7 ]     2     9   [ 7 ,   2 1 ]     2 1     7     [ 7 ,   9 ,   2 1 ,   1 3 ,   1 0 9 ,   9 ,   2 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] [ 7 ,   2 1 ,   9 ,   1 3 ,   1 0 9 ,   9 ,   2 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] f o r   i   i n   1 . . v e c t o r s . l e n ( ) { }
  3     1 3   [ 7 ,   9 ,   2 1 ]     2 1     9     [ 7 ,   9 ,   1 3 ,   2 1 ,   1 0 9 ,   9 ,   2 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ]   . . .   N     5     9   [ 7 ,   9 ,   1 3 ,   2 1 ,   1 0 9 ]     1 0 9     2 1     1 3     9     [ 7 ,   9 ,   9 ,   1 3 ,   2 1 ,   1 0 9 ,   2 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ]   N     6     2   [ 7 ,   9 ,   9 ,   1 3 ,   2 1 ,   1 0 9 ]     1 0 9     2 1     1 3     9     9     7     j     0   [ 2 ,   7 ,   9 ,   9 ,   1 3 ,   2 1 ,   1 0 9 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] 2     2     2     2   [ 7 ,   9 ,   9 ,   1 3 ,   2 1 ,   2 ,   1 0 9 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] [ 7 ,   9 ,   9 ,   1 3 ,   2 ,   2 1 ,   1 0 9 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] [ 7 ,   9 ,   9 ,   2 ,   1 3 ,   2 1 ,   1 0 9 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] [ 7 ,   9 ,   2 ,   9 ,   1 3 ,   2 1 ,   1 0 9 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] [ 7 ,   2 ,   9 ,   9 ,   1 3 ,   2 1 ,   1 0 9 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] [ 2 ,   7 ,   9 ,   9 ,   1 3 ,   2 1 ,   1 0 9 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] [ - 1 ,   2 ,   7 ,   9 ,   9 ,   1 1 ,   1 3 ,   2 0 ,   2 1 ,   3 3 ,   5 0 ,   1 0 9 ]
  f o r     c u r r e n t   j   =   i   -   1 ,   v e c t o r s [ j ]     w h i l e   j   > =   0 ,   j   =   j   - 1     c u r r e n t   <   v e c t o r s [ j ]     P y t h o n     a ,   b   =   b ,   a   c   =   a ,   a   =   b ,   b   =   c   f n   m a i n ( )   {         l e t   m u t   v e c t o r s   =   v e c ! [ 7 ,   2 1 ,   9 ,   1 3 ,   1 0 9 ,   9 ,   2 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] ;         p r i n t l n ! ( " v e c t o r s :   { : ? } " ,   v e c t o r s ) ; } f n   i n s e r t _ s o r t ( v e c t o r s :   & m u t   V e c < i 3 2 > )   - >   & V e c < i 3 2 > {                 v e c t o r s } f n   i n s e r t _ s o r t ( v e c t o r s :   & m u t   V e c < i 3 2 > )   - >   & V e c < i 3 2 > {                 f o r   i   i n   1 . . v e c t o r s . l e n ( ) {         }                 v e c t o r s } f n   i n s e r t _ s o r t ( v e c t o r s :   & m u t   V e c < i 3 2 > )   - >   & V e c < i 3 2 > {                 f o r   i   i n   1 . . v e c t o r s . l e n ( ) {                         l e t   m u t   c u r r e n t   =   v e c t o r s [ i ] ;                         l e t   m u t   j   =   i   -   1 ;         }                 v e c t o r s } f n   i n s e r t _ s o r t ( v e c t o r s :   & m u t   V e c < i 3 2 > )   - >   & V e c < i 3 2 > {         f o r   i   i n   1 . . v e c t o r s . l e n ( ) {                 l e t   m u t   c u r r e n t   =   v e c t o r s [ i ] ;                 l e t   m u t   j   =   i   -   1 ;                 w h i l e   j   > =   0   & &   c u r r e n t   <   v e c t o r s [ j ] {                         l e t   m i d d l e   =   v e c t o r s [ j + 1 ] ;                         v e c t o r s [ j + 1 ]   =   v e c t o r s [ j ] ;                         v e c t o r s [ j ]   =   m i d d l e ;                         j   =   j   -   1 ;                 }         }         v e c t o r s }
  2     j   =   0   w h i l e     j   =   j   -   1   j   =   - 1   w h i l e j   > =   0     j   =   - 1   w h i l e   P y t h o n     R u s t     j   =   j   -   1     i f   j   =   0   c u r r e n t   v e c t o r s   f n   i n s e r t _ s o r t ( v e c t o r s :   & m u t   V e c < i 3 2 > )   - >   & V e c < i 3 2 > {         f o r   i   i n   1 . . v e c t o r s . l e n ( ) {                 l e t   m u t   c u r r e n t   =   v e c t o r s [ i ] ;                 l e t   m u t   j   =   i   -   1 ;                 p r i n t l n ! ( " c u r r e n t   v e c t o r s :   { : ? } " ,   v e c t o r s ) ;                 p r i n t l n ! ( " c u r r e n t :   { }   <   v e c t o r s [ j ] :   { } " ,   c u r r e n t ,   v e c t o r s [ j ] ) ;                 w h i l e   j   > =   0   & &   c u r r e n t   <   v e c t o r s [ j ] {                         l e t   m i d d l e   =   v e c t o r s [ j + 1 ] ;                         v e c t o r s [ j + 1 ]   =   v e c t o r s [ j ] ;                         v e c t o r s [ j ]   =   m i d d l e ;                         i f   j   >   0 {                                 / *   r u s t   w h i l e   j   > = 0     j   =   0     1                                   j     w h i l e   * /                                 j   =   j   -   1 ;     / /   j                           }                         p r i n t l n ! ( " a f t e r   v e c t o r s :   { : ? } " ,   v e c t o r s ) ;                 }         }         v e c t o r s } v e c t o r s :   [ 7 ,   2 1 ,   9 ,   1 3 ,   1 0 9 ,   9 ,   2 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] c u r r e n t   v e c t o r s :   [ 7 ,   2 1 ,   9 ,   1 3 ,   1 0 9 ,   9 ,   2 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] c u r r e n t :   2 1   <   v e c t o r s [ j ] :   7 c u r r e n t   v e c t o r s :   [ 7 ,   2 1 ,   9 ,   1 3 ,   1 0 9 ,   9 ,   2 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] c u r r e n t :   9   <   v e c t o r s [ j ] :   2 1 a f t e r   v e c t o r s :   [ 7 ,   9 ,   2 1 ,   1 3 ,   1 0 9 ,   9 ,   2 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] c u r r e n t   v e c t o r s :   [ 7 ,   9 ,   2 1 ,   1 3 ,   1 0 9 ,   9 ,   2 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] c u r r e n t :   1 3   <   v e c t o r s [ j ] :   2 1 a f t e r   v e c t o r s :   [ 7 ,   9 ,   1 3 ,   2 1 ,   1 0 9 ,   9 ,   2 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] c u r r e n t   v e c t o r s :   [ 7 ,   9 ,   1 3 ,   2 1 ,   1 0 9 ,   9 ,   2 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ]
c u r r e n t   v e c t o r s :   [ 7 ,   9 ,   1 3 ,   2 1 ,   1 0 9 ,   9 ,   2 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] c u r r e n t :   1 0 9   <   v e c t o r s [ j ] :   2 1 c u r r e n t   v e c t o r s :   [ 7 ,   9 ,   1 3 ,   2 1 ,   1 0 9 ,   9 ,   2 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] c u r r e n t :   9   <   v e c t o r s [ j ] :   1 0 9 a f t e r   v e c t o r s :   [ 7 ,   9 ,   1 3 ,   2 1 ,   9 ,   1 0 9 ,   2 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] a f t e r   v e c t o r s :   [ 7 ,   9 ,   1 3 ,   9 ,   2 1 ,   1 0 9 ,   2 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] a f t e r   v e c t o r s :   [ 7 ,   9 ,   9 ,   1 3 ,   2 1 ,   1 0 9 ,   2 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] c u r r e n t   v e c t o r s :   [ 7 ,   9 ,   9 ,   1 3 ,   2 1 ,   1 0 9 ,   2 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] c u r r e n t :   2   <   v e c t o r s [ j ] :   1 0 9 a f t e r   v e c t o r s :   [ 7 ,   9 ,   9 ,   1 3 ,   2 1 ,   2 ,   1 0 9 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] a f t e r   v e c t o r s :   [ 7 ,   9 ,   9 ,   1 3 ,   2 ,   2 1 ,   1 0 9 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] a f t e r   v e c t o r s :   [ 7 ,   9 ,   9 ,   2 ,   1 3 ,   2 1 ,   1 0 9 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] a f t e r   v e c t o r s :   [ 7 ,   9 ,   2 ,   9 ,   1 3 ,   2 1 ,   1 0 9 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] a f t e r   v e c t o r s :   [ 7 ,   2 ,   9 ,   9 ,   1 3 ,   2 1 ,   1 0 9 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] a f t e r   v e c t o r s :   [ 2 ,   7 ,   9 ,   9 ,   1 3 ,   2 1 ,   1 0 9 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] c u r r e n t   v e c t o r s :   [ 2 ,   7 ,   9 ,   9 ,   1 3 ,   2 1 ,   1 0 9 ,   5 0 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] c u r r e n t :   5 0   <   v e c t o r s [ j ] :   1 0 9 a f t e r   v e c t o r s :   [ 2 ,   7 ,   9 ,   9 ,   1 3 ,   2 1 ,   5 0 ,   1 0 9 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] c u r r e n t   v e c t o r s :   [ 2 ,   7 ,   9 ,   9 ,   1 3 ,   2 1 ,   5 0 ,   1 0 9 ,   3 3 ,   - 1 ,   2 0 ,   1 1 ] c u r r e n t :   3 3   <   v e c t o r s [ j ] :   1 0 9 a f t e r   v e c t o r s :   [ 2 ,   7 ,   9 ,   9 ,   1 3 ,   2 1 ,   5 0 ,   3 3 ,   1 0 9 ,   - 1 ,   2 0 ,   1 1 ] a f t e r   v e c t o r s :   [ 2 ,   7 ,   9 ,   9 ,   1 3 ,   2 1 ,   3 3 ,   5 0 ,   1 0 9 ,   - 1 ,   2 0 ,   1 1 ] c u r r e n t   v e c t o r s :   [ 2 ,   7 ,   9 ,   9 ,   1 3 ,   2 1 ,   3 3 ,   5 0 ,   1 0 9 ,   - 1 ,   2 0 ,   1 1 ] c u r r e n t :   - 1   <   v e c t o r s [ j ] :   1 0 9 a f t e r   v e c t o r s :   [ 2 ,   7 ,   9 ,   9 ,   1 3 ,   2 1 ,   3 3 ,   5 0 ,   - 1 ,   1 0 9 ,   2 0 ,   1 1 ] a f t e r   v e c t o r s :   [ 2 ,   7 ,   9 ,   9 ,   1 3 ,   2 1 ,   3 3 ,   - 1 ,   5 0 ,   1 0 9 ,   2 0 ,   1 1 ] a f t e r   v e c t o r s :   [ 2 ,   7 ,   9 ,   9 ,   1 3 ,   2 1 ,   - 1 ,   3 3 ,   5 0 ,   1 0 9 ,   2 0 ,   1 1 ] a f t e r   v e c t o r s :   [ 2 ,   7 ,   9 ,   9 ,   1 3 ,   - 1 ,   2 1 ,   3 3 ,   5 0 ,   1 0 9 ,   2 0 ,   1 1 ] a f t e r   v e c t o r s :   [ 2 ,   7 ,   9 ,   9 ,   - 1 ,   1 3 ,   2 1 ,   3 3 ,   5 0 ,   1 0 9 ,   2 0 ,   1 1 ] a f t e r   v e c t o r s :   [ 2 ,   7 ,   9 ,   - 1 ,   9 ,   1 3 ,   2 1 ,   3 3 ,   5 0 ,   1 0 9 ,   2 0 ,   1 1 ] a f t e r   v e c t o r s :   [ 2 ,   7 ,   - 1 ,   9 ,   9 ,   1 3 ,   2 1 ,   3 3 ,   5 0 ,   1 0 9 ,   2 0 ,   1 1 ] a f t e r   v e c t o r s :   [ 2 ,   - 1 ,   7 ,   9 ,   9 ,   1 3 ,   2 1 ,   3 3 ,   5 0 ,   1 0 9 ,   2 0 ,   1 1 ] a f t e r   v e c t o r s :   [ - 1 ,   2 ,   7 ,   9 ,   9 ,   1 3 ,   2 1 ,   3 3 ,   5 0 ,   1 0 9 ,   2 0 ,   1 1 ] c u r r e n t   v e c t o r s :   [ - 1 ,   2 ,   7 ,   9 ,   9 ,   1 3 ,   2 1 ,   3 3 ,   5 0 ,   1 0 9 ,   2 0 ,   1 1 ] c u r r e n t :   2 0   <   v e c t o r s [ j ] :   1 0 9 a f t e r   v e c t o r s :   [ - 1 ,   2 ,   7 ,   9 ,   9 ,   1 3 ,   2 1 ,   3 3 ,   5 0 ,   2 0 ,   1 0 9 ,   1 1 ] a f t e r   v e c t o r s :   [ - 1 ,   2 ,   7 ,   9 ,   9 ,   1 3 ,   2 1 ,   3 3 ,   2 0 ,   5 0 ,   1 0 9 ,   1 1 ] a f t e r   v e c t o r s :   [ - 1 ,   2 ,   7 ,   9 ,   9 ,   1 3 ,   2 1 ,   2 0 ,   3 3 ,   5 0 ,   1 0 9 ,   1 1 ] a f t e r   v e c t o r s :   [ - 1 ,   2 ,   7 ,   9 ,   9 ,   1 3 ,   2 0 ,   2 1 ,   3 3 ,   5 0 ,   1 0 9 ,   1 1 ] c u r r e n t   v e c t o r s :   [ - 1 ,   2 ,   7 ,   9 ,   9 ,   1 3 ,   2 0 ,   2 1 ,   3 3 ,   5 0 ,   1 0 9 ,   1 1 ] c u r r e n t :   1 1   <   v e c t o r s [ j ] :   1 0 9 a f t e r   v e c t o r s :   [ - 1 ,   2 ,   7 ,   9 ,   9 ,   1 3 ,   2 0 ,   2 1 ,   3 3 ,   5 0 ,   1 1 ,   1 0 9 ] a f t e r   v e c t o r s :   [ - 1 ,   2 ,   7 ,   9 ,   9 ,   1 3 ,   2 0 ,   2 1 ,   3 3 ,   1 1 ,   5 0 ,   1 0 9 ] a f t e r   v e c t o r s :   [ - 1 ,   2 ,   7 ,   9 ,   9 ,   1 3 ,   2 0 ,   2 1 ,   1 1 ,   3 3 ,   5 0 ,   1 0 9 ] a f t e r   v e c t o r s :   [ - 1 ,   2 ,   7 ,   9 ,   9 ,   1 3 ,   2 0 ,   1 1 ,   2 1 ,   3 3 ,   5 0 ,   1 0 9 ] a f t e r   v e c t o r s :   [ - 1 ,   2 ,   7 ,   9 ,   9 ,   1 3 ,   1 1 ,   2 0 ,   2 1 ,   3 3 ,   5 0 ,   1 0 9 ] a f t e r   v e c t o r s :   [ - 1 ,   2 ,   7 ,   9 ,   9 ,   1 1 ,   1 3 ,   2 0 ,   2 1 ,   3 3 ,   5 0 ,   1 0 9 ] r e s u l t s :   [ - 1 ,   2 ,   7 ,   9 ,   9 ,   1 1 ,   1 3 ,   2 0 ,   2 1 ,   3 3 ,   5 0 ,   1 0 9 ]
  R u s t   R u s t     h t t p s : / / g i t h u b . c o m / a s y n c i n s / a c r u s t
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则