插入排序

jieao111 2008-04-02 07:15:30
// 数据结构.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include<iostream>
using namespace std;
struct Node
{
int value;
Node* next;
};

void creatlist(Node **head)
{
(*head)=new Node;
(*head)->next=NULL;
int i;
cout<<"请输入数字";
for(int m=0;m<5;++m)
{

cin>>i;
Node* p=new Node;
p->value=i;
p->next=(*head)->next;
(*head)->next=p;
}


}
void insertplayers(Node **head)
{
Node *m=*head;
m=m->next;


Node *head1=new Node;

Node **p=&head1;
Node **q=&head1;
(*p)->next=m;
*p=(*p)->next;
while(m)
{
m=m->next;//单步时,,第二次循环,m的值又被赋5了????

while(m->value>(*p)->value&&*p)
{
*q=*p;
*p=(*p)->next;

}
m->next=*p;
(*q)->next=m;

}
}
int print(Node *head) {
Node *p=head;
p=p->next;
while(p)
{ cout<<p->value<<endl;
p=p->next;

}
return 0;
}


int _tmain(int argc, _TCHAR* argv[])
{
Node *head;
creatlist(&head);
print(head);
insertplayers(&head);
print(head);

return 0;
}

...全文
84 3 打赏 收藏 转发到动态 举报
写回复
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jieao111 2008-04-02
  • 打赏
  • 举报
回复
失误啊,,,我输入的是1 2 3 4 5.。。。m应该从5开始变的,,,
不想低调 2008-04-02
  • 打赏
  • 举报
回复
m=m->next;//单步时,,第二次循环,m的值又被赋5了????

lz m是指针 怎么被赋5了??
csdn5211 2008-04-02
  • 打赏
  • 举报
回复
while(m)
{
m=m->next;//单步时,,第二次循环,m的值又被赋5了????

while(m->value>(*p)->value&&*p)
{
*q=*p;
*p=(*p)->next;

}
m->next=*p;
(*q)->next=m;

}

你先告诉我你哪儿改它了,没改过当然不变了!

63,606

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下