如何将数组中的元素移动到C中的不同索引?

时间:2016-12-13 05:08:06

标签: c

假设我有一系列分数a[10]={1,2,3,4,5,6,7,8,9,10},如何将a[4]移至a[0]

输出应为a[5]={5,1,2,3,4,6,7,8,9,10}。任何提示将不胜感激!

2 个答案:

答案 0 :(得分:2)

数组本身不会填补空白,你必须自己移动它们,所以这些是步骤:

假设您从包含以下值的数组开始:

+-----------------------+
|10|20|30|40|50|60|70|80| and you want to move 80 to the first index..
+-----------------------+
  1. 将您感兴趣的元素存储到临时变量。

    +-----------------------+
    |10|20|30|40|50|60|70|80|  myArray
    +-----------------------+
    +--+
    |80|  temp
    +--+
    
  2. 从候选元素的位置(要移动的元素的位置),将所有先前的值分配到下一个位置。

    +-----------------------+
    |10|10|20|30|40|50|60|70|  myArray
    +-----------------------+
    +--+
    |80|  temp
    +--+
    
  3. 将临时值分配给您有兴趣移动的位置的元素。

    +-----------------------+
    |80|10|20|30|40|50|60|70|  myArray
    +-----------------------+
    +--+
    |80|  temp
    +--+
    

答案 1 :(得分:0)

这有两个部分:

  1. 将索引处的元素移动到新位置。
  2. 将两者之间的元素移动到设定位置。
  3. 所以,这样的事情应该可以解决问题:

    $timeout(function () {
       $scope.gridOptions.data = [
         { addedBy :"user", displayName:"Name1" },
         { addedBy :"user2", displayName:"Name2" },
         { addedBy :"user3", displayName:"Name3" }
       ];
     });