一个关于直接排序的有关问题

一个关于直接排序的问题
这是一个简单的直接排序,
我下面是加了一个临时变量temp作为哨兵,求能人帮忙改成用arr[0]作为哨兵实现吧。
用1~Array.length存数据进行排序

void insertSort1(int[] arr) {
  int temp = 0, j = 0;
  for(int i = 1; i < arr.length; i++) 
  if(arr[i] < arr[i-1]) {
  temp = arr[i];  
  for(j = i-1; (j >= 0)&&(arr[j] > temp); --j) 
  arr[j+1] = arr[j];
  arr[j+1] = temp;
  }
  }

------解决方案--------------------
不是很明白LZ的意思
你要的烧饼是干嘛的
C/C++ code
void insertSort1(int[] arr) {
    int temp = 0, j = 0;
    for(int i = 1; i < arr.length; i++)  
        if(arr[i] < arr[i-1]) {
            arr[0] = arr[i];   
            for(j = i-1; (j >= 0)&&(arr[j] > arr[0]); --j)  
                arr[j+1] = arr[j];
            arr[j+1] = arr[0];
        }
}

void insertSort1(int[] arr) {
    int temp = 0, j = 0;
    arr[0] = std::numeric_limits<int>::min();
    for(int i = 1; i < arr.length; i++)  
        if(arr[i] < arr[i-1]) {
            temp = arr[i];   
            for(j = i-1; arr[j] > temp; --j)  
                arr[j+1] = arr[j];
            arr[j+1] = temp;
        }
}