void?bijiao(sstable?ss,suoyinbiao?&s)
{
suoyinbiao?p?=?s;
int?i;
int?j?=?1;
int?a?=?ss.r[1].key;
if?(j-1<=ss.length/5)
{
for?(i?=?(j?-?1)?*?5?+?1;i?<=?j?*?5;i++)
{
if?(ss.r[i].key>a)
{
a?=?ss.r[i].key;
p->keyzhi?=?a;
p->weizhi?=?(j?-?1)?*?5?+?1;
}
}
j++;
p?=?p->next;
}
}
int?chazhao(sstable?ss,?suoyinbiao?&s,?int?k)
{
int?n?=?1;
suoyinbiao?p?=?s;
while?(p!=NULL)
{
if?(k<=p->keyzhi)
{
for?(int?i?=?n?*?5;i?>=?n?*?5?-?4;--i)
{
if?(ss.r[i].key?==?k)
{
return?i;
}
}
}
p?=?p->next;
if?(p?==?NULL)
n++;
}
}函數(shù)第一個(gè)參數(shù)是一個(gè)順序表,第二個(gè)參數(shù)是一個(gè)單鏈表,函數(shù)意思是5個(gè)5個(gè)比較順序表中的元素,將最大的元素存入單鏈表中,每個(gè)結(jié)點(diǎn)中的weizhi存的是每五個(gè)元素的第一個(gè)元素的位置。但是當(dāng)我輸入7個(gè)元素,將頭5個(gè)元素存入第一個(gè)結(jié)點(diǎn)后,第二個(gè)結(jié)點(diǎn)本應(yīng)該存剩下兩個(gè)元素中最大的和6這個(gè)位置,但是當(dāng)我調(diào)用第二個(gè)函數(shù)的時(shí)候卻顯示第二個(gè)結(jié)點(diǎn)為空,請(qǐng)大神解惑。。。
單鏈表第二個(gè)結(jié)點(diǎn)存不進(jìn)數(shù)據(jù)?
Ma峰
2016-12-20 12:07:44