ランダムに 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