목차
1. 정수나 실수와 같은 다양한 타입의 데이터에 대하여 평균을 구하는 getAverage()함수 템플릿을 작성하여 보자.
2. 두 개의 수를 저장하고 있는 Pair라는 클래스 템플릿 형태로 작성하여 보자.
3. 연결 리스트는 데이터를 포이터를 이용하여서 연결하는 자료구조이다.
4. 랜덤 리스트를 작성하여 보자.
5. 큐는 먼저 들어간 데이터가 먼저 나오는 자료 구조이다. 큐를 배열을 사용하여서 Queue라는 클래스로 작성하여 보자.
6. 집합을 구현하는 클래스 Set을 작성하여 보자.
2. 두 개의 수를 저장하고 있는 Pair라는 클래스 템플릿 형태로 작성하여 보자.
3. 연결 리스트는 데이터를 포이터를 이용하여서 연결하는 자료구조이다.
4. 랜덤 리스트를 작성하여 보자.
5. 큐는 먼저 들어간 데이터가 먼저 나오는 자료 구조이다. 큐를 배열을 사용하여서 Queue라는 클래스로 작성하여 보자.
6. 집합을 구현하는 클래스 Set을 작성하여 보자.
본문내용
t<data<
node = node->next;
cout<data<
Node *dnode;
dnode = new Node;
dnode->setNext(dnode, 1.1);
dnode->setNext(dnode, 2.2);
dnode->setNext(dnode, 3.3);
dnode->setNext(dnode, 4.4);
cout<<"double형 : [1.1,2.2,3.3,4.4]"<
cout<data<
dnode = dnode->next;
cout<data<
dnode = dnode->next;
cout<data<
dnode = dnode->next;
cout<data<
dnode = dnode->next;
cout<data<
delete node;
delete dnode;
return 0;
}
4. 랜덤 리스트를 작성하여 보자.
#include
#include
#define MAXSIZE 10
using namespace std;
template
class List{
private:
T data[MAXSIZE];
int count;
public:
List()
{
count = 0;
}
void Add(T d)
{
data[count] = d;
count++;
}
T Select(int c)
{
return data[c];
}
int getCount()
{
return count;
}
};
int main(void)
{
int count;
List l;
srand(time(NULL));
l.Add(12);
l.Add(52);
l.Add(38);
l.Add(87);
l.Add(28);
l.Add(10);
cout<<"List 삽입 원소 : 12,52,38,87,28,10"<
cout<<"랜덤 출력 값 : ";
count = rand()%l.getCount();
cout<
cout<<"랜덤 출력 값 : ";
count = rand()%l.getCount();
cout<
cout<<"랜덤 출력 값 : ";
count = rand()%l.getCount();
cout<
cout<<"랜덤 출력 값 : ";
count = rand()%l.getCount();
cout<
return 0;
}
5. 큐는 먼저 들어간 데이터가 먼저 나오는 자료 구조이다. 큐를 배열을 사용하여서 Queue라는 클래스로 작성하여 보자.
#include
#define MAXSIZE 10
using namespace std;
template
class Queue{
private:
T data[MAXSIZE];
int count;
public:
Queue()
{
count = 0;
}
void enqueue(T d)
{
data[count] = d;
count++;
}
T dequeue()
{
T d;
d = data[0];
for(int i = 0;i < count;i++){
data[i] = data[i+1];
}
return d;
}
};
int main(void)
{
Queue q;
cout<<"Queue 삽입 데이터 : 34,26,68,20,24,23"<
q.enqueue(34);
q.enqueue(26);
q.enqueue(68);
q.enqueue(20);
q.enqueue(24);
q.enqueue(23);
cout<<"q.dequeue() : "<
cout<<"q.dequeue() : "<
cout<<"q.dequeue() : "<
cout<<"q.dequeue() : "<
cout<<"q.dequeue() : "<
cout<<"q.dequeue() : "<
return 0;
}
6. 집합을 구현하는 클래스 Set을 작성하여 보자.
#include
#define MAXSIZE 10
using namespace std;
template
class Set{
private:
T data[MAXSIZE];
int count;
public:
Set()
{
count = 0;
}
void Add(T d)
{
if(count < MAXSIZE){
if(checkData(d)){
data[count] = d;
count++;
}
else{
cout<<"동일값 입력"<
}
}
else{
cout<<"입력 범위 초과"<
}
}
bool checkData(T d)
{
for(int i = 0;i < count; i++){
if(data[i] == d){
return false;
}
}
return true;
}
void print()
{
cout<<"Set = [ ";
for(int i = 0;i < count; i++){
cout< }
cout<<"]"<
}
};
int main(void)
{
Set s;
int sel, data;
while(1){
cout<<"1. ADD 2.PRINT 3.EXIT"<
cin>>sel;
try{
if(sel == 1){
cout<<"Input Data : ";
cin>>data;
s.Add(data);
}
else if(sel == 2){
s.print();
}
else if(sel == 3){
return 0;
}
else
throw sel;
}
catch(int sel){
cout<<"입력 범위 초과"<
}
}
return 0;
}
cout<
dnode = new Node
dnode->setNext(dnode, 1.1);
dnode->setNext(dnode, 2.2);
dnode->setNext(dnode, 3.3);
dnode->setNext(dnode, 4.4);
cout<<"double형 : [1.1,2.2,3.3,4.4]"<
cout<
cout<
cout<
cout<
delete dnode;
return 0;
}
4. 랜덤 리스트를 작성하여 보자.
#include
#include
#define MAXSIZE 10
using namespace std;
template
class List{
private:
T data[MAXSIZE];
int count;
public:
List()
{
count = 0;
}
void Add(T d)
{
data[count] = d;
count++;
}
T Select(int c)
{
return data[c];
}
int getCount()
{
return count;
}
};
int main(void)
{
int count;
List
srand(time(NULL));
l.Add(12);
l.Add(52);
l.Add(38);
l.Add(87);
l.Add(28);
l.Add(10);
cout<<"List 삽입 원소 : 12,52,38,87,28,10"<
count = rand()%l.getCount();
cout<
count = rand()%l.getCount();
cout<
count = rand()%l.getCount();
cout<
count = rand()%l.getCount();
cout<
}
5. 큐는 먼저 들어간 데이터가 먼저 나오는 자료 구조이다. 큐를 배열을 사용하여서 Queue라는 클래스로 작성하여 보자.
#include
#define MAXSIZE 10
using namespace std;
template
class Queue{
private:
T data[MAXSIZE];
int count;
public:
Queue()
{
count = 0;
}
void enqueue(T d)
{
data[count] = d;
count++;
}
T dequeue()
{
T d;
d = data[0];
for(int i = 0;i < count;i++){
data[i] = data[i+1];
}
return d;
}
};
int main(void)
{
Queue
cout<<"Queue 삽입 데이터 : 34,26,68,20,24,23"<
q.enqueue(26);
q.enqueue(68);
q.enqueue(20);
q.enqueue(24);
q.enqueue(23);
cout<<"q.dequeue() : "<
}
6. 집합을 구현하는 클래스 Set을 작성하여 보자.
#include
#define MAXSIZE 10
using namespace std;
template
class Set{
private:
T data[MAXSIZE];
int count;
public:
Set()
{
count = 0;
}
void Add(T d)
{
if(count < MAXSIZE){
if(checkData(d)){
data[count] = d;
count++;
}
else{
cout<<"동일값 입력"<
}
else{
cout<<"입력 범위 초과"<
}
bool checkData(T d)
{
for(int i = 0;i < count; i++){
if(data[i] == d){
return false;
}
}
return true;
}
void print()
{
cout<<"Set = [ ";
for(int i = 0;i < count; i++){
cout< }
cout<<"]"<
};
int main(void)
{
Set
int sel, data;
while(1){
cout<<"1. ADD 2.PRINT 3.EXIT"<
try{
if(sel == 1){
cout<<"Input Data : ";
cin>>data;
s.Add(data);
}
else if(sel == 2){
s.print();
}
else if(sel == 3){
return 0;
}
else
throw sel;
}
catch(int sel){
cout<<"입력 범위 초과"<
}
return 0;
}
소개글