선형 표: 순서 저장 구조 (순서 표 의) 구현 예시 코드

선형 표 (Sequential List) 순서 저장 구 조 는 연속 메모리, 무 작위 액세스 방식 을 차지 하고 이 코드 는 초기 화, 삽입, 삭제 기능 을 실현 하 며 VC 6.0 을 플랫폼 으로 사용 합 니 다.
      코드 는 세 부분 으로 나 뉜 다.
         1. 템 플 릿 류 의 설명 은 하나의 헤더 파일 에 넣 습 니 다 (SequenList. h). 프로그램의 재 활용 성 을 높이 고 다른 프로그램 에서 호출 할 수 있 도록 하 는 것 이 목적 입 니 다. 이 예 는 2 소스 파일 에서 호출 됩 니 다.
         2. 클래스 의 정 의 는 원본 파일 (Sequen List. cpp) 에 놓 습 니 다.
         3. 프로젝트 파일 (sequenlistMain. cpp) 은 인 스 턴 스, 학급 학생 들 의 성적 에 대해 실제 작업 을 합 니 다. 데이터 형식 은 정수 입 니 다. (구조 체 형식 으로 바 꿔 주시 기 바 랍 니 다)
1.SequenList.h
const int MaxSize = 30;          
template         //     SeqList
class SeqList
{
public:
   SeqList( ) {length = 0;}            //      ,      
   SeqList(T a[ ], int n);       //      ,     n    
   ~SeqList( ) { }                   //    
   int Length( ) {return length;}        //       
   T Get(int i);               //    ,      i   
   int Locate(T x );           //    ,       x     
   void Insert(int i, T x);       //    ,    i       x   
   T Delete(int i);              //    ,     i   
   void PrintList( );                     //    ,          
private:
   T data[MaxSize];           //         
   int length;                        //      
};

2.SequenList.cpp
#include "SeqList.h"

template   
SeqList :: SeqList(T a[ ], int n)
{
  if (n > MaxSize) throw "error";
  for (int i = 0; i < n; i++)  
	  data[i] = a[i];
  length = n;
}

template   
T SeqList :: Get(int i)
{
  if (i < 1 && i > length) throw "      ";
  else return data[i - 1];
}

template   
int SeqList :: Locate(T x)
{
  for (int i = 0; i < length; i++)
    if (data[i] == x) return i+1;       //   i     x,     i+1
  return 0;                            //    ,      
}

template   
void SeqList :: Insert(int i, T x)
{
  if (length >= MaxSize) throw "    ";
    if (i < 1 || i > length + 1) throw "  ";
for (int j = length; j >= i; j--)
  data[j] = data[j - 1];             //   j          j-1 
data[i - 1] = x;
length++;
}

template   
T SeqList :: Delete(int i)
{
  if (length == 0) throw "  ";
  if (i < 1 || i > length) throw "  ";
  T x = data[i - 1];              //    i   
  for (int j = i; j < length; j++)
    data[j - 1] = data[j];        //    j            
  length--;
  return x;
}

template   
void SeqList :: PrintList( )
{
  for (int i = 0; i < length; i++)
 cout << data[i];                   //           
 }

3.sequenlistMain.cpp
#include            //              
using namespace std;
#include "SequenList.cpp"           //            
void main( )
{
      int score[5]={99, 93, 89, 76,88};
      SeqList ScoreList(score, 5);
      cout<

좋은 웹페이지 즐겨찾기