데이터 구조 기초 편 --- - 2. 단일 체인 표 의 생 성 및 연산
/*
*
* 2018.10.23
* @L.F
*
* */
#include
#include
#include
typedef int DataType_t;// DataType_t, Int
typedef struct Node //
{
DataType_t Data; //
struct Node *Next; //
}LinkList;
LinkList *LinkListCreate() //
{
LinkList *h = (LinkList *)malloc(sizeof(LinkList)); //
h->Next = NULL; //
return h;
}
void LinkListInsertHead(LinkList *h, DataType_t Value)//
{
LinkList *Temp = (LinkList *)malloc(sizeof(LinkList));//
Temp->Data = Value;
Temp->Next = h->Next;//
h->Next = Temp;//
return ;
}
void LinkListInsertTail(LinkList *h, DataType_t Value)//
{
LinkList *Temp = (LinkList *)malloc(sizeof(LinkList));//
Temp->Data = Value;
while(h->Next != NULL)//
{
h = h->Next;
}
Temp->Next = NULL;
h->Next = Temp;
return ;
}
void LinkListInsertPos(LinkList *h, int pos, DataType_t Value)//
{
LinkList *Temp = (LinkList *)malloc(sizeof(LinkList));
Temp->Data = Value;
int i =1;
while(h->Next != NULL && i<= pos)
{
h = h->Next;
i++;
}
if(h->Next == NULL)
{
printf("
");
}
else
{
Temp->Next = h->Next;
h->Next = Temp;
}
return ;
}
void LinkListInsertSort(LinkList *h, DataType_t Value)// ( )
{
LinkList *Temp = (LinkList *)malloc(sizeof(LinkList));
Temp->Data = Value;
while(h->Next != NULL && h->Next->Data < Temp->Data)
{
h = h->Next;
}
Temp->Next = h->Next;
h->Next = Temp;
return ;
}
DataType_t LinkListDeleteHead(LinkList *h)//
{
/*h->Next = h->Next->Next;// */
/*
* DataType_t Value;
* Value = h->Next->Data;
* h->Next = h->Next->Next;
* */
/* */
DataType_t Value;
LinkList *Temp = h->Next;
Value = h->Next->Data;
h->Next = h->Next->Next;
free(Temp);
Temp = NULL;
return Value;
}
int LinkListUpdata(LinkList *h, DataType_t OldValue, DataType_t NewValue)//
{
while(h->Next != NULL)
{
if(h->Next->Data == OldValue)
{
h->Next->Data = NewValue;
return 0;
}
h = h->Next;
}
printf("%d ", NewValue);
return -1;
}
int LinkListSearch(LinkList *h,DataType_t Value)//
{
int pos = 0;
while(h->Next != NULL)
{
if(h->Next->Data == Value)
{
return pos;
}
h = h->Next;
pos++;
}
printf("%d
", Value);
return -1;
}
void LinkListReverse(LinkList *h)//
{
LinkList *p = h->Next;
LinkList *q;
h->Next = NULL;
while(p != NULL)
{
q = p;
p = p->Next;
q->Next = h->Next;
h->Next = q;
}
return ;
}
void LinkListShow(LinkList *h)//
{
while(h->Next != NULL)
{
h = h->Next;
printf(" %d", h->Data);
}
putchar(10);
}
int main(int argc, const char *argv[])
{
LinkList *h = LinkListCreate();
int F,s,i,a,n;
while(1)
{
printf(" : 1. 2. 3.
");
printf(" 4. 5. 6.
");
printf(" 7. 8.
");
scanf("%d", &F);
switch(F)
{
case 1:
printf(" :");
scanf("%d",&s);
for(i=0; i
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.