最近在学习链表,有些地方不明白,希望大家不吝赐教,谢谢大家了。
链表必须要有一个头指针吗?为什么呢?如果我没有头指针,只有一个头节点,初始化之后使用逻辑上我咋感觉没问题啊?但当我实际这么做就报错了
链表必须要有一个头指针吗
不一定,分为带头和不带头两种。
sizeof里面目测是Node,不是Node*
头结点可有可无,但是头指针是一定要的,不然你怎么去遍历链表?
你这里分配空间貌似不对吧,应该是sizeof(Node);
有序是指奇数的相对位置不变,偶数的相对位置也不变
void orderSort(int a[])
{
int i, j, k, x;
for (i = 0; ; i++)
{
while (a[i] % 2) i++; //找到从左到右第一个偶数
j = i + 1;
while (!(a[j] % 2)) j++; //找到该偶数右边第一个奇数
if(j > 9) break; //便利完退出循环
for (x = j; x > i; x--) //向左冒一次泡(大概这个意思)
{
k = a[x];
a[x] = a[x - 1];
a[x - 1] = k;
}
printfArray(a);
}
}