头插法建立单链表的算法

头插法建立单链表的算法

实现代码:
#include   
#include   
using namespace std;  
#define maxSize 100  
typedef struct LNode{  
    int data;  
    struct LNode *next;  
}LNode;  
void createListR(LNode *&C,int a[],int n){  
     LNode *s,*r;  
     int i;  
     C=(LNode*)malloc(sizeof(LNode));  
     C->next=NULL;  
     r=C;  
     for(i=1;i<=n;++i){  
        s=(LNode *)malloc(sizeof(LNode));  
        s->data=a[i];  
        s->next=r->next;
        r->next=s;
    }  
}   
int main(int argc, char *argv[])  
{  
    int a[10],e;  
    LNode *C;  
    cout<<"输入九个数:";  
    for(int i=1;i<=9;i++){  
        cin>>a[i];  
    }  
    createListR(C,a,9);  
    cout<<"输入单链表:";  
    for(int i=1;i<=9;++i){  
        C=C->next;  
        cout<data<<" ";  
     }   
    return 0;  
}  
输出结果:
输入九个数:1 3 4 2 5 6 7 8 9
输入单链表:9 8 7 6 5 2 4 3 1 请按任意键继续. . .


你可能感兴趣的:(数据结构与算法)