用链表思想编写下如下程序:
45 78 56 12 34 实现:12 34 45 56 78
题目要求:数据是由键盘输入,数据由尾部插入法。
----------------解决方案--------------------------------------------------------
#include "stdio.h"
#include "conio.h"
main()
{ int a[6],i,j,t;
for(i=1;i<6;i++)
{
printf("%d:",i);
scanf("%d",&a[i]);
}
for(i=1;i<5;i++)
for(j=i;j<6;j++)
{
if(a[i]>a[j])
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
}
for(i=1;i<6;i++)
{
printf("%d:%d ",i,a[i]);
}
getch();
}
----------------解决方案--------------------------------------------------------
看懂了
----------------解决方案--------------------------------------------------------
2楼的也不是链表思想啊
----------------解决方案--------------------------------------------------------
2楼的也不是链表思想啊
----------------解决方案--------------------------------------------------------
呵呵 是我理解错了,数组也算链表,是静态链表.刚刚理解成动态链表了.
----------------解决方案--------------------------------------------------------
不好意思忘了,是动态链表!
----------------解决方案--------------------------------------------------------
可以先建个空表,先比较再插入数据.
----------------解决方案--------------------------------------------------------
先写一个结构体
struct node
{int number;
struct node pro;
struct node next;
}
类似这种的,里边定义数据项和前驱后续指针项
然后建函数,用malloc函数开辟空间,建立新结点,建立一个,链入前一个结点之后
然后建函数进行比较,比较结点的数据项,再排序,排序通过结点中的前后指针而改变链表的顺序
用主调函数调用它们就好了
有必要时再建一个输出函数就好
----------------解决方案--------------------------------------------------------