试写一算法,对单链表实现就地逆置。分析:将单链表就地逆置,即不另外开辟结点空间,而将链表元素翻转顺序。
试写一个算法,实现单链表的就地逆置,即利用原表的存储空间将线性表逆置为 单链表结点的类型定义如下:typedef struct node { /*
答案解析 查看更多优质解析 解答一 举报 可理解成,将原来单链表的结点取下来,采用单链表的头插法,插入头结点之后.当完成后,最后一个结点变成首元结点,原来的首元结点变成最后一个结点,其他的依次类推. 解析看不懂?免费查看同类题视频解析查看解答 相似问题 编写一算法,实现单链表的原地逆置. 以单链表为存储结构...
试写一算法,对单链表实现就地逆置。 正确答案 答案解析 略 真诚赞赏,手留余香 小额打赏 169人已赞赏
void reverse(LinkList &L)//单链表的就地逆置{ p=L->next;if(p=NULL|| p->next=NULL)return OK;//空表和表中只有一个结点时,不用逆置。while(p->next!=NULL){ q= p->next;p->next=q->next; //删除结点q,但未释放 q->next=L->next;L->next=q; //将q插入头结点之...
试写一算法,对单链表实现就地逆置。 答案 以单链表作存储结构进行就地逆置的正确做法应该是:将原链表中的头结点和第一个元素结点断开(令其指针域为空),先构成一个新的空表,然后将原链表中各结点,从第一个结点起,依次插入这个新表的头部(即令每个插人的结点成为新的第一个元素结点)。相关推荐 1试写一算法,对...
搜标题 搜题干 搜选项 AI智答
cout<<"建立链表失败"<<endl;return 1;} l->length=0;l->listsize=MAXSIZE;while(1){ cout<<"请输入链表数据:";cin>>x;if(x==0) break;l->elem[i]=x;l->length++;i++;} return 1;} int swaplist(list *l){ int i=0,k,t;k=(int)(l->length/2);for(i=0;i<k;i...