练习:
第一章
6. 编写算法,求一元多项式的值latex($$Pn(x)=a_0+a_1x+a_2x^2+...+a_nx^n$$)
1
2 double p(double x, double a[], int n) {
3 double result = 0.0;
4 int i = 0;
5 for(i = n; i >= 0; i--) {
6 result *= x;
7 result += a[i];
8 }
9 }
总计 = 3n+4次
第二章
4. 已知顺序表L递增有序,写一个算法将X插入到线性表适当位置上,使顺序表仍然递增有序。
1
2 void insert_order(seq_list *list, ElemType x){
3 int i, pos;
4 for(i = 0; i < list->size; i++)
5 if(list->elem[i] >= x)
6 break;
7 pos = i;
8 for(i = list->size-1; i >= pos; i--)
9 list->elem[i+1] = list->elem[i];
10 list->elem[pos] = x;
11 }
5. 编写一个算法,从顺序表中删除自第i个元素开始的k个元素
1
2 void delete_from_ith(seq_list *list, int pos, int num){
3 int i;
4 pos--;
5 for(i = pos+num; i < list->size; i++)
6 list->elem[i-num] = list->elem[i];
7 }