将vector里的元素一次遍历放到里,构建链表
vector<ListNode*>a;
ListNode *head=v[0];//到时候return的时候是head指针
ListNode *cur=head;//使用cur进行连接操作
for(int i=1;i<v.size();i++){
cur->next=v[i];//先让链表的结点指向下一个元素
cur=cur->next; //再进行移动
}
将链表里的元素放到vector中
while (pHead) {//当没有遍历完
v.push_back(pHead);//将链表元素放入vector中,vector里面是(listnode *)的元素
pHead = pHead->next;//放完链表就往下走
}
正儿八经的代码
int i=0;
vector<int>res;
ListNode* p=head;
ListNode* p1=head;
while(p)
{
res.push_back(p->val);//将数据取出保存在res数组中
p=p->next;
待优化的直接用链表进行冒泡排序
for(int i=0;i<count-1;i++){
p=head;
q=p->next;//做了i次,每次从head开始 最后将使得满足条件的 在最后一个
while(q){
if(p->val>q->val){
temp=q->val;
q->val=p->val;
p->val=temp;
}p=q;
if(q->next) q=q->next;//直到q到末尾前 都进行while实现排序
else break;
}
}
}
sort(res.begin(),res.end());//将数组从小到大排序
while(p1)
{
p1->val=res[i++];//将排序好的数组里面的数据逐个放回链表的对应结点中
p1=p1->next;
}
return head;