C语言 线性链表

建立一个线性链表,其元素值依次为从键盘输入的正整数(以输入一个负数结束)请依次输入3、5、8、4、7、2、6、-1
在7的前面新插入一个元素9
删除元素2
依次输出各节点的值

// test.cpp : å®šä¹‰æŽ§åˆ¶å°åº”用程序的入口点。
//

#include "stdafx.h"

// ç»“构变量mv
struct mv
{
int iv;
struct mv *p;
};
// æ‰“印链表
void ListValue(mv * p)
{
while(p!=NULL)
{
printf("%d ",p->iv);
p = p->p;
}
printf("\n");
}
//插入数值
void InsertValue(mv * p,int v1,int v2)
{
mv * p1 = NULL;
while(p!=NULL)
{
if(p->iv == v1)
{
if(p1==NULL) break;
mv *t = new mv;
t->iv = v2;
p1->p = t;
t->p = p;
break;
}
p1 = p;
p = p->p;
}
}

int _tmain(int argc, _TCHAR* argv[])
{
int iv = 0;
int count = 0;
mv *ph = NULL;
mv *pe = NULL;
while(iv >=0 && count<8)
{
printf("input a number:");
scanf("%d",&iv);
mv * vl = new mv;
vl->iv = iv;
if(ph == NULL)
ph = vl;
else
pe->p = vl;
pe = vl;
vl->p = NULL;
count++;
}
printf("vlue:");
ListValue(ph);
printf("\nAfter Insert New Value:");
InsertValue(ph,7,9);
ListValue(ph);
return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-14
这里面有关链表的CRUD都有了:http://www.cnblogs.com/yezhenhan/archive/2012/06/16/2551622.html追问

这在VC++6.0上无法运行啊

相似回答