C 구현 링크
typedef struct NODE
{
int data;//
struct NODE * next;//
}* Node;
//
Node create_listNode();
//
void traverse_listNode(Node node);
//
bool is_empty(Node node);
//
int lenth_list(Node node);
// ( , , )
void insert_list(Node node ,int index,int data);
// ( , , )
void delete_list(Node node ,int index, int *pData);
//
void sort_list(Node node);
int main(int argc, const char * argv[]) {
Node node = NULL;
node = create_listNode();
traverse_listNode(node);
if (is_empty(node)) {
printf("
");
}
else
{
printf("
");
}
printf(" :%d
",lenth_list(node));
// sort_list(node);
// traverse_listNode(node);
// insert_list(node, 0, 6);
delete_list(node, 2, NULL);
traverse_listNode(node);
return 0;
}
//
Node create_listNode()
{
int len;//
int val;//
//
Node head = (Node)malloc(sizeof(Node));
if (head == NULL) {
printf(" ");
exit(-1);
}
//
Node tail = head;
//
tail->next = NULL;
printf(" :len - ");
scanf("%d",&len);
for (int i = 0; i < len; i++) {
printf(" %d :",i);
scanf("%d",&val);
Node new = (Node)malloc(sizeof(Node));
if (new == NULL) {
printf(" ");
exit(-1);
}
new->data = val;
tail->next = new;
new->next = NULL;
tail = new;
}
return (head) ;
}
//
void traverse_listNode(Node node)
{
Node p = node->next;
while (p != NULL) {
printf("%d ",p->data);
p = p->next;
}
printf("
");
}
//
bool is_empty(Node node)
{
//
if (node->next == NULL) {
return true;
}
return false;
}
//
int lenth_list(Node node)
{
Node p = node->next;
int len = 0;
while (p != NULL) {
len++;
p = p->next;
}
return len;
}
// ( , , )
void insert_list(Node node ,int index,int data)
{
int i = 0;
Node p = node;
while (p != NULL && i < index - 1) {
p = p->next;
i++;
}
if (i > index - 1 || p == NULL) {
printf(" ");
exit(-1);
}
Node new = (Node)malloc(sizeof(Node));
if (new == NULL) {
printf(" ");
exit(-1);
}
new->data = data;
Node q = p->next;
p->next = new;
new->next = q;
}
// ( , , )
void delete_list(Node node ,int index, int *pData)
{
int i = 0;
Node p = node;
while (p->next != NULL && i < index - 1) {
p = p->next;
i++;
}
if (i > index - 1 || p->next == NULL) {
printf(" ");
exit(-1);
}
Node q = p->next;
pData = &q->data;
p->next = p->next->next;
free(q);
q = NULL;
}
//
void sort_list(Node node)
{
int i ,j;
int len = lenth_list(node);
Node p,q;
for (i = 0 ,p = node->next; i < len - 1 ; i++,p = p->next) {
for (j = i + 1,q = p->next; j < len; j++,q = q->next) {
if (p->data > q->data) {
int temp = p->data;
p->data = q->data;
q->data = temp;
}
}
}
}
demo 주소
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.