随机生成100个随机整数并放入一个链表中,要求链表中的元素按从小到大顺序排列,然后输出该链表。(C语言)

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
struct Node{
    int Data;
    struct Node *Next;
};
struct Node *create(){
    struct Node *head;
    head=(struct Node *)malloc(sizeof(struct Node));
    head->Next=NULL;
    return head;
}
void Sq_insert(struct Node *head,int num){
    struct Node *p,*q;
    p=head;
    while(p->Next!=NULL&&p->Next->Data<num){
        p=p->Next;
    }
    q=(struct Node *)malloc(sizeof(struct Node));
    q->Data=num;
    q->Next=p->Next;
    p->Next=q;
}
void show(struct Node *head){
    struct Node *p;
    p=head->Next;
    int count=0;
    while(p!=NULL){
        printf("%d\t",p->Data);
        count++;
        if(count%10==0){
            printf("\n");
        }
        p=p->Next;
    }
}
int main(){
    struct Node *head;
    head=create();
    srand(time(NULL));
    printf("100个随机整数输出如下:\n");
    for(int i=0;i<100;i++){
        Sq_insert(head,rand());
    }
    show(head);
    return 0;
}

 结果如下:

猜你喜欢

转载自blog.csdn.net/zhan_qian/article/details/120711794
今日推荐