《大话数据结构》读书笔记——9.5直接插入排序

//C 实现
1
#include "stdafx.h" 2 #include "stdlib.h" 3 4 int _tmain(int argc, _TCHAR* argv[]) 5 { 6 int arr[6] ={0,5,3,4,6,2}; 7 int i,j; 8 for(i=1;i<6;++i) 9 { 10 if(arr[i]<arr[i-1]) 11 { 12   arr[0] = arr[i]; 13 for(j =i-1;arr[j]>arr[0];j--) 14    { 15      arr[j+1] = arr[j]; 16    } 17    arr[j+1] = arr[0]; 18 } 19 } 20 for(int i =0 ;i<6;++i) 21 { 22 printf("%d\t",arr[i]); 23 } 24 system("pause"); 25 return 0; 26 }

 

//lua 实现
1
function sort_t(t) 2 local length = #t -1 3 local j = 1 4 for i = 2,length do 5 if (t[i]>t[i+1]) then 6 t[1] = t[i+1] 7 j = i 8 while (t[j]>t[1]) 9 do 10 t[j+1] = t[j] 11 j = j-1 12 end 13 t[j+1] = t[1] 14 end 15 end 16 end 17 18 local ta = {0,5,4,3,6,2,9,8,1,7} 19 sort_t(ta) 20 21 for idx = 1,table.getn(ta) do 22 print(ta[idx]) 23 end

 

posted on 2015-04-15 21:27  Liz-  阅读(139)  评论(0)    收藏  举报