데이터 구조 위조 코드 의 실현 (링크 편)
3848 단어 경험 공유
링크 편
#include
#include
#include
#include
typedef struct Node
{
int data;
struct Node* pNext;
}NODE,* pNODE;
//
pNODE create_list(viod);
void traverse_list(pNODE pHead);
bool is_empty(pNODE pHead);
int length_list(pNODE pHead);
bool insert_list(pNODE pHead,int pos,int val);
bool delete_list(pNODE pHead,int pos,int *pVal);
void sort_list(pNODE pHead);
int main(void)
{
//
pNODE pHead=NULL;
int val;
//
pHead=create_list();
printf(" :
");
traverse_list(pHead);
//
int length=length_list(pHead);
printf(" :%d
",length);
//
sort_list(pHead);
printf(" :
");
traverse_list(pHead);
//
if(insert_list( pHead,5,88))
printf(" !
");
else printf(" !
");
sort_list(pHead);
printf(" :
");
traverse_list(pHead);
//
length=length_list(pHead);
printf(" :%d
",length);
//
if(delete_list(pHead,5,&val))
printf(" ! %d!
",val);
else printf(" !
");
traverse_list(pHead);
length=length_list(pHead);
printf(" :%d
",length);
return 0;
}
// , pNODE
pNODE create_list(viod)
{
int len;
int i;
int val;
//
pNODE pHead=(pNODE)malloc(sizeof(NODE));
if(pHead==NULL)
{
printf(" , !
");
exit(-1);
}
// ,
pNODE pTail=pHead;
pTail->pNext=NULL;
printf(" :
");
scanf("%d",&len);
for(i=0;idata=val;
pTail->pNext=pNew;
pNew->pNext=NULL;
pTail=pNew;
}
return pHead;
}
//
void traverse_list(pNODE pHead)
{
pNODE p=pHead->pNext;
while(p!=NULL)
{
printf("%d\t",p->data);
p=p->pNext;
}
printf("
");
}
//
bool is_empty(pNODE pHead)
{
if(pHead->pNext==NULL)
return true;
else return false;
}
//
int length_list(pNODE pHead)
{
pNODE p=pHead->pNext;
int len=0;
while (p!=NULL)
{
++len;
p=p->pNext;
}
return len;
}
//
void sort_list(pNODE pHead)
{
pNODE p,q,f;
int len=length_list(pHead);
int i,j;
for(i=0,p=pHead->pNext;ipNext)
{
for(j=i+1,q=p->pNext;jpNext)
{
if(q->datadata)
{
f->data=p->data;
p->data=q->data;
q->data=f->data;
}
}
}
}
// pos , val
bool insert_list(pNODE pHead,int pos,int val)
{
int i=0;
pNODE p=pHead;
//
while(p!=NULL&&ipNext;
++i;
}
if(i>pos-1||p==NULL)
return false;
pNODE pNew=(pNODE)malloc(sizeof(NODE));
if(pNew==NULL)
{
printf(" !
");
exit(-1);
}
pNew->data=val;
pNODE q=p->pNext;
p->pNext=pNew;
pNew->pNext=q;
return true;
}
//
bool delete_list(pNODE pHead,int pos,int *pVal)
{
int i=0;
pNODE p=pHead;
while(p!=NULL&&ipNext;
++i;
}
if(i>pos-1||p==NULL)
return false;
pNODE q=p->pNext;
*pVal=q->data;
p->pNext=p->pNext->pNext;
free(q);
q=NULL;
return true;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
2. 부호가 없는 평균수를 모아서 구한다부호수가 없는 평균수를 구하다 문서 목록 제목 중술 문제 분석 및 구해 사고방식 프로그램 코드 내부 RAM30H~37H 단원 중 8개의 기호수가 없는 산술 평균치를 시험적으로 구한 결과 38H에 저장되었다. 보류 중...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.