------------------------------ 더--------------------------------------------------------
#pragma once
#include<iostream>
#define list_len 100
template<typename Ldata>
class ArrayList
{
private:
Ldata arr[list_len];
int numofData;
int curPosition;
public:
ArrayList();
ArrayList(ArrayList *plist);
void ListInsert(ArrayList *plist,Ldata data);
int LFirst(ArrayList *plist,Ldata *pdata);
int LNext(ArrayList *plist,Ldata * pdata);
Ldata LRemove(ArrayList*plist);
int LCount(ArrayList *plist);
};
------------------------------------------------------------------------------------------------
#include"arrlist.h"
template<typename Ldata>
ArrayList<Ldata>::ArrayList()
{
numof> curPositi>}
template <typename Ldata>
void ArrayList<Ldata>::ListInsert(ArrayList *plist,Ldata data)
{
if(plist->numofData> listlen)
{
cout<<"저장이 불가능합니다"<<endl;
}
plist->arr[plist->numofData]=data;
(plist->numOfData)++;
}
template <typename Ldata>
int ArrayList<Ldata>::LFirst(ArrayList *plist,Ldata *pdata)
{
if(plist->numOf> return false;
(plist->curPosition)=0;
*p> return true;
}
template <typename Ldata>
int ArrayList<Ldata>::LNext(ArrayList *plist,Ldata * pdata)
{
if(plist->curPosition >=(plist->numofData)-1)
return false;
(plist->curPosition)++;
*p> return true;
}
template <typename Ldata>
Ldata ArrayList<Ldata>::LRemove(ArrayList*plist)
{
int rpos = plist->curPosition;
int num= plist->numofData;
int i;
Ldata r>
for(i=rpos;i<num-1;i++)
plist->arr[i] = plist->arr[i+1];
(plist ->numofData)--;
(plist->curPosition)--;
return rdata;
}
template <typename Ldata>
int ArrayList<Ldata>::LCount(ArrayList *plist)
{
return plist->numofData;
}
----------------------------------------------------------------------------------
---------------------------------------------------------------------------메인------------------
#include"arrlist.h"
int main()
{
/*** ArrayList의 생성 및 초기화 ***/
ArrayList<int>list;
int data;
/*** 5개의 데이터 저장 ***/
list.ListInsert(&list, 11);
list.ListInsert(&list, 11);
list.ListInsert(&list, 22);
list.ListInsert(&list, 22);
list.ListInsert(&list, 33);
/*** 저장된 데이터의 전체 출력 ***/
printf("현재 데이터의 수: %d \n", list.LCount(&list));
if(list.LFirst(&list, &data)) // 첫 번째 데이터 조회
{
printf("%d ", data);
while(list.LNext(&list, &data)) // 두 번째 이후의 데이터 조회
printf("%d ", data);
}
printf("\n\n");
/*** 숫자 22을 탐색하여 모두 삭제 ***/
if(list.LFirst(&list, &data))
{
if( 2 )
list.LRemove(&list);
while(list.LNext(&list, &data))
{
if( 22)
list.LRemove(&list);
}
}
/*** 삭제 후 저장된 데이터 전체 출력 ***/
printf("현재 데이터의 수: %d \n", list.LCount(&list));
if(list.LFirst(&list, &data))
{
printf("%d ", data);
while(list.LNext(&list, &data))
printf("%d ", data);
}
printf("\n\n");
return 0;
}
----------------------------------------------------------------------------
C에서 C++로고치려고하는데요 ㅠㅠ
저는 C++만배워서 이해가안되는부분이많아요 도와주세요 프게이님들
선제시요
존나쉽구만 30분더보니까 개쉽게이해함 존나 씨를안해서 ㅠ.ㅠ