C#冒泡排序错误?

时间:2017-12-28 14:12:46

标签: c# bubble-sort

这里有什么问题?我有一个2500块随机数的块,我想用冒号排序它们。但是当我运行程序时,我得到了这个:

  

System.IndexOutOfRangeException

之后的错误代码:

if (szamok[i] > szamok[i + 1]).

(抱歉英文不好:/)

        int r = 2500;
        int seged;


        while (r > 1)
          {
              for (int i = 0; i < 2500; i++)
               {
                if (szamok[i] > szamok[i + 1])
                  {
                    seged = szamok[i + 1];
                    szamok[i + 1] = szamok[i];
                    szamok[i] = seged;
                   }

               }
            r = r - 1;
          }

1 个答案:

答案 0 :(得分:0)

错误说明:您的索引超出范围。您试图在此数组中的最后一个元素之后访问数组中的元素。

function custom_product_basic_load() { add_action( 'add_meta_boxes_product' , 'custom_product_basic_add_meta_boxes_product' ); add_meta_box( 'custom_product_basic_metabox' , __( 'Product Layout' ) , 'custom_product_basic_metabox' , 'product' , 'normal' , 'high' ); add_action( 'save_post' , 'custom_product_basic_save_post' , 10 , 3 ); } add_action( 'load-post.php' , 'custom_product_basic_load' ); add_action( 'load-post-new.php' , 'custom_product_basic_load' ); function custom_product_basic_metabox( $post ) {?> <input type="hidden" name="product_type" value="simple" /> <?php $accessory_product_args = [ 'posts_per_page' => -1, 'tax_query' => [ 'relation' => 'AND', [ 'taxonomy' => 'product_cat', 'field' => 'slug', 'terms' => 'accessories' ], ], 'post_type' => 'product', 'orderby' => 'title', ]; $accessory_product = new WP_Query( $accessory_product_args ); ?> <select name="_accessories_product_one" id="_accessories_product_one" class="widefat"> <?php while ( $accessory_product->have_posts() ) : $accessory_product->the_post(); $title_one = get_the_title(); $postid_one = get_the_ID(); ?> <option value="<?=$postid_one?>" <?php selected( '_accessories_product_one[select_field_0]', $postid_one); ?>> <?=$title_one?> </option> <?php endwhile; ?> </select> <?php $dropdown_option = get_option( '_accessories_product_one' ); // Array $dropdown_value = $dropdown_option ['select_field_0']; // Option value var_dump($dropdown_option); var_dump($dropdown_value); ?> <?php } function custom_product_basic_save_post( $post_id ) { if (isset($_POST['_accessories_product_one'])) { update_post_meta( $post_id, '_accessories_product_one', $_POST['_accessories_product_one']); } } 似乎是罪魁祸首。 +1太多了。

尝试更改循环,这样您就不会访问最后一个元素,只会访问倒数第二个元素:

szamok[i] > szamok[i + 1]