1. 请写一个函数求给定顺序表中的各元素的和(顺序表中元素类型为浮点数)。{{{ double sum( sequence_list *slt) { } }}} 1. 请写一个函数,在带头节点的单链表中查找两个相邻的值相等的元素,返回两个元素中前一个元素的指针,找不到返回NULL。{{{ node *adjacent_find( node * head) { } }}} 1. 写一个递归函数,从尾部到头部反向打印单链表(不带头节点,元素类型为int){{{ void reverse_print( node *head ) { } }}} 1. 有一种叫做双端队列的数据结构deque,它是一种结合队列和栈的功能于一体的数据结构,它可以前端插入后端删除,也可以后端插入前端删除,也可以后端插入后端删除。请实现这种数据结构,并给出主要算法(头部插入、删除、尾部插入、删除)。 1. 请写一个函数,将顺序表中每个元素的值变为原值的平方。{{{ void square( sequence_list *slt ) { } }}} 1. 请写一个函数,在带头节点单链表中查找最后一个值为x的节点,返回指向该节点的指针。{{{ node *find_last( node * head, datatype x) { } }}} 1. 使用栈来实现单链表(不带头节点,元素类型为int)反向打印。{{{ void reverse_print( node * head) { } }}} 1. 有一种叫做优先队列的数据结构priority_queue,与队列类似,不同的是数据元素在进入队列后,不是按照先进先出的原则出队,而是按照从大到小的原则出队。比如数据元素按照3,2,4,1,5的顺序入队后,能够按照5,4,3,2,1的顺序出队。请实现这个数据结构,并给出入队出队的算法。