Commit
This commit is contained in:
parent
281db59994
commit
7311aaed9e
143
Lab20.cpp
Normal file
143
Lab20.cpp
Normal file
@ -0,0 +1,143 @@
|
||||
#define _CRT_SECURE_NO_WARNINGS
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
struct Node
|
||||
{
|
||||
int data;
|
||||
struct Node* next;
|
||||
};
|
||||
struct Node* first = NULL;
|
||||
|
||||
void printList() {
|
||||
struct Node* ptr = first;
|
||||
while (ptr != NULL) {
|
||||
printf("(%d) -> ", ptr->data);
|
||||
ptr = ptr->next;
|
||||
}
|
||||
printf("NULL\n");
|
||||
}
|
||||
|
||||
void addToHead(int value) {
|
||||
struct Node* newNode = (struct Node*)malloc(sizeof(struct Node));
|
||||
|
||||
newNode->next = first;
|
||||
newNode->data = value;
|
||||
|
||||
first = newNode;
|
||||
}
|
||||
|
||||
int deleteFromHead() {
|
||||
int value = first->data;
|
||||
struct Node* delNode = first;
|
||||
first = first->next;
|
||||
free(delNode);
|
||||
return value;
|
||||
}
|
||||
|
||||
int contains(int value) {
|
||||
struct Node* ptr = first;
|
||||
while (ptr != NULL) {
|
||||
if (ptr->data == value) {
|
||||
return 1;
|
||||
}
|
||||
ptr = ptr->next;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void clearList() {
|
||||
while (first != NULL)
|
||||
{
|
||||
struct Node* delNode = first;
|
||||
first = first->next;
|
||||
free(delNode);
|
||||
}
|
||||
}
|
||||
|
||||
int sum() {
|
||||
struct Node* ptr = first;
|
||||
int s = 0;
|
||||
while (ptr != NULL) {
|
||||
s += ptr->data;
|
||||
ptr = ptr->next;
|
||||
}
|
||||
return s;
|
||||
}
|
||||
int evenCount() {
|
||||
struct Node* ptr = first;
|
||||
int m = 0;
|
||||
while (ptr != NULL) {
|
||||
if (ptr->data % 2 == 0) {
|
||||
m++;
|
||||
}
|
||||
ptr = ptr->next;
|
||||
}
|
||||
return m;
|
||||
}
|
||||
int oddsX10() {
|
||||
struct Node* ptr = first;
|
||||
int k = 0;
|
||||
while (ptr != NULL) {
|
||||
if (ptr->data % 2 != 0) {
|
||||
ptr->data *= 10;
|
||||
}
|
||||
ptr = ptr->next;
|
||||
}
|
||||
return k;
|
||||
}
|
||||
void ix100(int i) {
|
||||
struct Node* ptr = first;
|
||||
int index = 0;
|
||||
while (ptr != NULL) {
|
||||
if (index == 1) {
|
||||
ptr->data *= 100;
|
||||
return;
|
||||
}
|
||||
ptr = ptr->next;
|
||||
index++;
|
||||
|
||||
}
|
||||
}
|
||||
void leviiX10(int i) {
|
||||
Node* ptr = first;
|
||||
int index = 0;
|
||||
while (ptr != NULL) {
|
||||
if (index < i) {
|
||||
ptr->data = ptr->data * 10;
|
||||
}
|
||||
if (index == i) {
|
||||
return;
|
||||
}
|
||||
index += 1;
|
||||
ptr = ptr->next;
|
||||
}
|
||||
}
|
||||
void main(){
|
||||
|
||||
printList();
|
||||
|
||||
addToHead(1);
|
||||
addToHead(3);
|
||||
addToHead(6);
|
||||
addToHead(8);
|
||||
printList();
|
||||
|
||||
ix100(2);
|
||||
printList();
|
||||
|
||||
ix100(2);
|
||||
printList();
|
||||
|
||||
ix100(1);
|
||||
printList();
|
||||
|
||||
|
||||
clearList();
|
||||
printList();
|
||||
{
|
||||
int x;
|
||||
scanf("%d", &x);
|
||||
}
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user