读书人

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

发布时间: 2012-09-06 10:37:01 作者: rapoo

一个关于直接排序的问题
这是一个简单的直接排序,
我下面是加了一个临时变量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;        }} 

读书人网 >软件架构设计

热点推荐