欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C語言

當前位置:主頁 > 軟件編程 > C語言 >

c語言鏈表操作示例分享

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C語言|點擊: 次

復(fù)制代碼 代碼如下:

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
/*以下是為了構(gòu)建線性鏈表而定義的結(jié)構(gòu)體*/
typedef struct chaink{
    char c;
    struct chaink * next;
    }ck;
ck * chain(ck *,int);
int print(ck *,int);
/*以下是main函數(shù)*/
int main(void){
    printf("這是一個線性鏈表試驗程序。\n");
    ck * head=NULL;
    int k;
    k=sizeof(ck);
    do{
        head=chain(head,k);
        printf("是否要結(jié)束程序?若結(jié)束,請按y/Y;按其他鍵繼續(xù)錄入。\n");
        if(getch()=='y' && getch()=='Y'){
            printf("程序結(jié)束。\n");
            getch();
            break;
            }       
        }while(1);
    return 0;
    }
/*以下是為了演示線性鏈表而試著編寫的程序模塊*/
ck * chain(ck * head,int k){
    ck * next=NULL;/*掃描鏈表時要用到的臨時局部變量*/
    ck * temp=NULL;/*插入新結(jié)點時要用到的臨時局部變量*/
    int i=0;/*隔壁print函數(shù)依賴的一個參數(shù)*/
    if(head==NULL){
        head=(ck*)malloc(k);/*創(chuàng)建一個空的數(shù)據(jù)節(jié)點,第一個數(shù)據(jù)節(jié)點*/
        if(head==NULL){
            printf("malloc內(nèi)存錯誤!");
            getch();
            exit(1);
            }/*檢驗剛剛是否已經(jīng)成功創(chuàng)建數(shù)據(jù)節(jié)點*/
        printf("頭結(jié)點已成功創(chuàng)建,其地址為%p。\n",head);
        head->next=NULL;
        head->c='0'; /*初始化頭結(jié)點*/
        }   
    do{/*以從HEAD結(jié)點之后處插入新數(shù)據(jù)節(jié)點的方式接收錄入的數(shù)據(jù)*/
        printf("是否要錄入新數(shù)據(jù)?若錄入,請按y/Y;按其他鍵結(jié)束錄入。\n");
        if(getch()!='y' && getch()!='Y'){
            printf("錄入結(jié)束。\n");
            getch();
            break;
            }            
        temp=head->next;/*儲存頭節(jié)點指針域的數(shù)據(jù)*/
        head->next=(ck*)malloc(k);/*創(chuàng)建一個新節(jié)點*/
        if(head->next==NULL){
            printf("malloc內(nèi)存錯誤!");
            getch();
            exit(1);
            }/*檢驗剛剛是否已經(jīng)成功創(chuàng)建數(shù)據(jù)節(jié)點*/
        next=head->next;/*掃描到新創(chuàng)建的節(jié)點*/
        next->next=temp;/*給新節(jié)點的指針域賦值*/
        printf("請錄入新數(shù)據(jù)……\n");
        next->c=getch();/*給新節(jié)點的數(shù)據(jù)域賦值*/
        if(next->c==-1){
            printf("系統(tǒng)錄入端錯誤!");
            getch();
            exit(1);
            }
        printf("新數(shù)據(jù)錄入成功。錄入的新數(shù)據(jù)為%c,其數(shù)據(jù)節(jié)點的地址為%p。\n",next->c,next);/*反饋*/
    }while(1);/*以從HEAD結(jié)點之后處插入新數(shù)據(jù)節(jié)點的方式接收錄入的數(shù)據(jù)(結(jié)束)*/
    if(head->next==NULL){/*數(shù)據(jù)打印環(huán)節(jié)*/
        printf("數(shù)據(jù)鏈表里現(xiàn)在沒有數(shù)據(jù)。\n");
        getch();   
    }
    else{
        printf("是否要顯示鏈表中所有的數(shù)據(jù)及其地址?若要顯示,請按y/Y;按其他鍵跳過。\n");
        if(getch()!='y' && getch()!='Y'){
            printf("跳過。\n");
            getch();
            return head;
            }
        printf("現(xiàn)在輸出鏈表的內(nèi)容……\n 序號 數(shù)據(jù) 指針\n");
        for(next=head->next;next!=NULL;next=next->next){
            i=print(next,i);/*調(diào)用打印鏈表用的函數(shù)*/
            }
    }/*數(shù)據(jù)打印環(huán)節(jié)(結(jié)束)*/
    return head;   
    }
/*以下是打印鏈表用的函數(shù)*/
int print(ck * next,int i){
    printf("   %d    %c    %p\n",i,next->c,next);
    i++;
    return i;
    }

上一篇:隊列的動態(tài)鏈式存儲實現(xiàn)代碼分享

欄    目:C語言

下一篇:tcp socket客戶端和服務(wù)端示例分享

本文標題:c語言鏈表操作示例分享

本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/3752.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負任何責任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有