表中的数据类型为字符串,采用链式存储结构实现Р三.算法分析(如图):文字或流程图或画图说明都可РРР四.源代码:Р 1.链表转置算法Рvoid transpose(LinkList &l)//转置带头结点的链表РР{Р?LinkList p,q;Р?p=l->next;//让p指向第一个元素Р?l->next=NULL;//让Head的指针域为空Р?while(p!=NULL)Р?{Р??q=p->next;//让q指向第二个元素Р??p->next=l->next;//让p的指针域为空Р??l->next=p;Р??p=q;Р?}Р}Р2. 定义链表Рtypedef char elemtype[10] ;//定义字符串Рtypedef struct LNodeР{Р?elemtype data;Р?struct LNode *next;Р}LNode,*LinkList;Рvoid CreateList_l(LinkList &L)//带头结点的链表Р{Р?L=(LinkList)malloc(sizeof(LNode));Р?LinkList p,q;Р?elemtype i;Р?L->next=NULL;Р?q=L;Р?while(strcmp(i,"*")!=0)Р?{Р??p=(LinkList)malloc(sizeof(LNode));Р??cin>>i;Р??if(strcmp(i,"*")!=0)//结束数据输入时,用到库函数strcmp()Р??{Р???p->next=q->next;Р???q->next=p;Р???q=p;Р???strcpy(q->data,i);Р??}Р?}Р}Р3.链表输出:Рvoid display(LinkList &L)Р{Р?LinkList p;Р?p=L->next;Р?while(p!=NULL)Р?{