数据结构与算法的笔记(一)

1.算法的5个重要特性

(1)有穷性:算法的每一步在有限的时间内完成,在执行有穷步后结束.

(2)确定性:相同的输入有相同的输出

(3)可行性:算法的基本操作可以通过已经实现的基本运算执行有限次来实现.

(4)输入

(5)输出

2.线性表的顺序存储结构

1.定义

#define MAXLENGTH 100;

struct sequencelist{
   int data[MAXLENGTH];

   int length;

}

2.(增)

status ListInsert(sequencelist * list ,int index ,int element)

{

   if(list->length==0||index>list->length||index<0||list->length>MAXLENGTH)

   {

      return error;

  }

list->data[index]=element;

for(int i=list->length-1;i>index;i--)

{

    list->data[i+1]=list->data[i];

}

list->length++;

return ok;

}

}

3.(删)

status listdelete(sequencelist *list ,int index)

{

       if(index>list->length||index<0||index>list->length)

{
return error;

}

for(int i=index;ilength-1;i++){

list->datat[i]=list->data[i++];

}

list->length--;

return ok;

}

4(查)

status getelement(sequencelist *list, int index,int *e)

{

   if(list->lenght<0||index||<0||index>list-length)

{           return error;

}

*e=list->data[index];

return ok;

}

你可能感兴趣的:(数据结构与算法)