Exemplo n.º 1
0
void insert(int new_y)
{ 
    int j;
    if (num_y = 0) { // y empty so far, easy case
        y[0] = new_y;
        return;
    }
    // need to insert just before the first y
    // element that new_y is less than
    for (j = 0; j < num_y; j++) {
        if (new_y < y[j]) {
            // shift y[j], y[j+1],... rightward
            // before inserting new_y
            scoot_over(j);
            y[j] = new_y;
            return;
        }
    }
}
Exemplo n.º 2
0
Arquivo: ins.c Projeto: geoemon2k/GDB
void insert(int new_y)
{
  int j;
  //渡す値が1つの場合y[0]に格納して終了
  // = を ==に修正(bug)
  if (num_y == 0) {
    y[0] = new_y;
    return;
  }

  //渡す値が複数の場合
  for (j = 0; j < num_y; j++) {
    //新しく渡ってきた値が格納されているものよりも小さければscoot_overへ
    if (new_y < y[j]) {
      scoot_over(j);
      // 新しい値を前に格納
      y[j] = new_y;
      return;
    }
    // もうひとつの場合: new_y > 既存のyの全要素
    y[num_y] = new_y;
  }
}