Loading

有序数组的插入

 

 1 bool Insert( List L, ElementType X )
 2 {
 3     int i = 0;
 4     if(L->Last == MAXSIZE-1)    //元素已满,无法插入
 5         return false;
 6     
 7     for(; i <= L->Last; ++i)
 8     {
 9         if(X == L->Data[i])
10             return false;
11             
12         else if(X < L->Data[i])
13             continue;
14         else   //if(X > L->Data[i])
15         {
16             for(int j = L->Last + 1; j >= i+1; --j)  //把插入的位置之后的元素全部向后移动一个位置
17             {
18                 L->Data[j] = L->Data[j-1];
19             }
20             L->Data[i] = X;
21             ++L->Last;
22             return true;
23         }
24     }
25     L->Data[i] = X;    //X为最小值时,跳出循环
26     ++L->Last;
27     return true;
28 }

 

posted @ 2018-09-27 14:46  拾月凄辰  阅读(818)  评论(0编辑  收藏  举报