#include<iostream.h>
#include<stdlib.h>
typedef struct Lnode{
int key;
struct Lnode *next;
}*LinkList;
typedef struct {
LinkList elem;
int length;
}SSTable;
void CreateList(LinkList &L,int n)
{
Lnode *p;
L=(LinkList)malloc(sizeof(Lnode));
L->next=NULL;
for(int i=n;i>0;i--)
{
p=(LinkList)malloc(sizeof(Lnode));
cin>>(p->key);
p->next =L->next ;L->next =p;
}
}
void println(LinkList &L)
{
LinkList p=L->next ;
for(int i=0;p->next !=NULL;i++){
cout<<"key="<<p->key <<endl;
p=p->next ;
}
cout<<".."<<p->key <<endl;
// cout<<"key="<<L->key <<endl;
}
void CreateSt(SSTable &st,int n)
{
LinkList l;
st.length =n;
CreateList(l,n);
st.elem =l;
println(l);
}
void search(SSTable &st,int nkey){
st.elem->key =nkey;
cout<<st.elem ->key<<endl;
for(int i=st.length ;!(st.elem[i].key==nkey);--i)
{cout<<i<<"key=..........."<<st.elem[i].key<<endl;
//st.elem=st.elem->next ;
}
cout<<"结果:"<<i<<endl;
}
void main()
{
SSTable st;
CreateSt(st,3);
search(st,3);
}
题目主要是连表的查找!但是得出来的答案不对!请帮下忙!还有就是我那个println做的不怎么好.能帮忙该下吗??
谢!!!