데이터 구조의 순서 찾기
4265 단어 순서 찾기
직접 데이터 구조 소개 정렬 하기;
순서 찾기 와 반절 찾기 는 순서 표 저장 소 입 니 다.이 진 트 리 는 이 진 트 리 저장 소 입 니 다.해시 베 끼 기 는 아 날로 그 입 니 다 (그림 의 인접 표 저장 소 와 비슷 합 니 다).
헤더 파일 (Search. h);
# ifndef _SORT_
typedef int KeyType;
typedef struct
{
KeyType key;
}DataType;
# endif
헤더 파일 (SeqList. h);
# ifndef _SEQLIST_
# define _SEQLIST_
# include
# include "Search.h"// DataType;
using namespace std;
# define MAXSIZE 64
typedef struct
{
DataType data[MAXSIZE];
int length;
}SeqList, * PSeqList;
typedef struct Node
{
DataType elem;
struct Node * lchild;
struct Node * rchild;
}BSTree, * PBSTree;
// ;
PSeqList Init_SeqList(void);
bool Full_SeqList(PSeqList p);
int Push_SeqList(PSeqList p, KeyType keyValue);
void Traversal_SeqList(PSeqList p);
ostream & operator<
파일 구현 (SeqList. cpp);
# include "SeqList.h"
PSeqList Init_SeqList(void)
{
PSeqList p = (PSeqList)malloc(sizeof(SeqList));
if (NULL != p)
{
p->length = 0;
return p;
}
else
{
cout << "Memory allocate is error! " << endl;
system("pause");
exit(0);
}
}
bool Full_SeqList(PSeqList p)
{
if (p->length >= MAXSIZE)
{
return true;
}
else
{
return false;
}
}
int Push_SeqList(PSeqList p, KeyType keyValue)
{
if (Full_SeqList(p))
{
cout << "SeqList is full! " << endl;
return -1;
}
p->data[p->length].key = keyValue;
p->length++;
return 0;
}
void Traversal_SeqList(PSeqList p)
{
for (int i = 0; i < p->length; i++)
{
cout << p->data[i] << " ";
}
cout << endl;
return;
}
ostream & operator<data[p->length].key = key;
while (p->data[i].key != key)// ; ;
{
i++;
}
if (i == p->length)
{
return -1;
}
else
{
return i;
}
//for (int i = 0; i < p->length; i++)
//{
// if (p->data[i].key == key)
// {
// return i;
// }
//}
return -1;
}
주 함수 (Main. cpp);
# include "SeqList.h"
int main(int argc, char ** argv)
{
PSeqList p = Init_SeqList();
for (int i = 0; i < 10; i++)
{
Push_SeqList(p, i + 1);
}
cout << "------------------------SeqList Search------------------------" << endl;
Traversal_SeqList(p);
// ; ;
// ; ; ;
cout << "Your search position is : " << SeqSearch(p, 0) << endl;
cout << "Your search position is : " << SeqSearch(p, 1) << endl;
cout << "Your search position is : " << SeqSearch(p, 5) << endl;
cout << "Your search position is : " << SeqSearch(p, 10) << endl;
cout << "Your search position is : " << SeqSearch(p, 11) << endl << endl;
cout << "------------------------TreeList Search------------------------" << endl;
// ; ;
PBSTree pt = NULL;
PBSTree pp = NULL;
BSTreeInsert(&pt, 34);
BSTreeInsert(&pt, 18);
BSTreeInsert(&pt, 76);
BSTreeInsert(&pt, 13);
BSTreeInsert(&pt, 25);
BSTreeInsert(&pt, 52);
BSTreeInsert(&pt, 82);
BSTreeInsert(&pt, 20);
BSTreeInsert(&pt, 67);
BSTreeInsert(&pt, 91);
BSTreeInsert(&pt, 58);
BSTreeInsert(&pt, 73);
InOrder(pt);
cout << endl;
if (NULL != (pp = BSTreeSearch(pt, 13)))
{
cout << pp->elem.key << endl;
}
BSTreeDelete(&pt, 34);
InOrder(pt);
cout << endl;
cout << "------------------------Hash Search------------------------" << endl;
// ; ;
PHashTable pht = CreateHashTable();
HashTableInsert(pht, 26);
HashTableInsert(pht, 38);
HashTableInsert(pht, 73);
HashTableInsert(pht, 21);
HashTableInsert(pht, 54);
HashTableInsert(pht, 35);
HashTableInsert(pht, 167);
HashTableInsert(pht, 32);
HashTableInsert(pht, 7);
HashTableInsert(pht, 223);
HashTableInsert(pht, 62);
HashTableTraversal(pht);
system("pause");
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
데이터 구조의 순서 찾기다음 몇 편의 블 로 그 는 모두 찾기 에 관 한 것 이다.주로 순서대로 찾기;반절 찾기 (질서 표 에 적용);두 갈래 정렬 트 리 찾기;해시 찾기; 직접 데이터 구조 소개 정렬 하기; 순서 찾기 와 반절 찾기 는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.