데이터 구조 - 순서 표 (학습 노트)

순서 표 는 배열 을 저장 방식 으로 n (n > = 0) 개의 속성 이 같은 데이터 요 소 를 구성 하 는 유한 한 서열 이다.
순서 표 저장 구조의 실현 ① 데 이 터 를 저장 하 는 배열 이 필요 하 다 ② 순서 표 의 길 이 를 나타 내 는 성형 변수 가 필요 하 다.
1. 순서 표 형식 정의
#define LISTSIZE 100		//      
typedef int DataType;		//        

typedef struct
{
	DataType items[LISTSIZE];
	int length;
}SqList;

2. 순서 표 초기 화
int InitList(SqList &L)
{
	L.length=0;
	return 0;
}

3. 현재 요소 의 개 수 를 순서대로 표시 합 니 다.
int ListLength(SqList L)
{
	return L.length;
}

4. 순서 표 가 비어 있 는 지 판단
int ListEmpty(SqList L)
{
	if(L.length<=0)
	{
		return 1;
	}
	else
	{
		return 0;
	}
}

5. 순서 표 의 삽입 작업 절차
  • 순서 표 가 만 료 되 었 는 지 판단 하기
  • 삽입 위치 가 합 법 적 인지, 즉 1 < = pos < = length + 1
  • 을 검사 합 니 다.
  • 마지막 요 소 를 제 pos 요소 사이 의 요 소 를 뒤로 이동 합 니 다
  • 새 요 소 를 비 어 있 는 위치 에 삽입 합 니 다
  • 순서 표 의 길이 플러스 1
  • int ListInsert(SqList &L,int pos,DataType item)
    {
    	if(L.length>=LISTSIZE)
    	{
    		cout<L.length+1)
    	{
    		cout<=pos-1;i--)
    	{
    		L.items[i+1]=L.items[i];
    	}
    	L.items[pos-1]=item;
    	L.length++;
    	
    	return 1;
    }
    

    6. 순서 표 의 삭제 작업 절차
  • 판 표 공
  • 삭 제 된 위치, 즉 1 < = pos < = L. length
  • 를 검사 합 니 다.
  • pos + 1 에서 length 까지 원 소 를 한 위치 로 이동
  • 순서 표 의 길이 감소
  • int ListDelete(SqList &L,int pos,DataType *item)
    {
    	if(ListEmpty(L))
    	{
    		cout<L.length)
    	{
    		cout<

    7. 순서 표 의 지정 요 소 를 가 져 옵 니 다.
    int GetElem(SqList L,int pos,DataType *item)
    {
    	if(ListEmpty(L))
     	{
      		cout<L.length)
     	{
      		cout<

    8. 지정 한 요소 가 순서 표 에 있 는 위 치 를 찾 습 니 다.
    int Find(SqList L,DataType item)
    {
    	if(ListEmpty(L))
      	{
        		cout<

    9. 순서 표를 옮 겨 다 니 기
    int TraverseList(SqList L)
    {
    	for(int i=0;I

    좋은 웹페이지 즐겨찾기