一、要求输入20个数,按照从小到大的顺序存入链表中,可以分四步:获取数据、进行排序、插入链表、打印链表。
1.定义一个整型数组,用来存储获得的20个数:
int a[20];
int i;
for(i=0;i<20;i++)
{
scanf("%d",&a[i]);
}
注意:①"%d"不能写成"%d ",千万不要加空格!!!否则就要多输入一个数;②&a[i]不能写成a或a[i]或&a,如果这么干了,后面输出的数据就很迷了,但是之前写获取字符串的表达式时,("%s",&str)和("%s",str)都可以来着,嗯先记着吧。
2.对获得的20个数进行排序,排序算法很多,但我都不熟,暂时用最容易理解的冒泡排序:
int j,temp;
for(i=0;i<19;i++)//20个数,则外循环19次
{
for(j=19;j>i;j--)//从右往左冒泡,每次循环都将最小的数放在最左边
{
if(a[j]<a[j-1])
{
temp=a[j];
a[j]=a[j-1];
a[j-1]=temp;
}
}
}
附一篇排序算法动态演示图链接