본문 바로가기

소프트웨어/C/C++

c++] 리스트.기본구조

공부하는중. 틀린점이 많으니 따라하지말길


#include<iostream>


using std::cin;

using std::cout;

using std::endl;


struct msList{

char* data;

struct msList* nList; //다음 노드의 주소값을 갖는다

};


struct msListHead{

int eNo;

msList* nList; //첫 노드의 주소값을 갖는다

};


void addList(){


}


int main(void){

struct msListHead mListHead; //header 생성

//init

mListHead.eNo=0; 

mListHead.nList=NULL; //head=>null

//add data at emptyNode

struct msList mList; //node생성

char* name={"kimmansung"}; //데이터추가

mList.data=(char*)calloc(strlen(name)+1,sizeof(char)); //need free

strcpy(mList.data,name); //copy 2 node

mList.nList=NULL; // node=>null


//add Node at Head

mListHead.nList=&mList; //head=>node=>null

mListHead.eNo++; //cnt ++


//print

cout<<mListHead.nList->data<<endl;



//delete Node at Head

msList* tempPtr=mListHead.nList;

mListHead.nList=NULL;

free(tempPtr->data);

mListHead.eNo--;


cout<<mListHead.eNo<<endl;



return 0;

}