学生管理系统(第一写)用C语言写,单链表实现,插入,查询,浏览,修改,删除的功能源码
标题 学生管理系统
#define _CRT_SECURE_NO_WARNINGS
#include <malloc.h>
#include
#include <stdio.h>
#include <stdlib.h>
#include
#include
using namespace std;
void mainmenu();
void query_by_name();
void print_student(struct student *s);
typedef struct student
{
long int num; //学号
char name[20]; //姓名int age; //年龄char sex[10]; //性别char birthday[20]; //出生日期char address[30]; //地址long long int tele_num; //电话char E_mail[30]; //电子邮箱地址struct student* next; //指向下一个结构体对象的指针
}student;
//创建一个学生链表
typedef struct student_lsit{
student head;
int count;
}s_list;
//声明一个链表
s_list list;
int count = 0;
void query_by_num(const s_list lt, const int num_01);
void query_by_name(const s_list ls);
void del(s_list* p);
void change(s_list lt);
void devise(struct student* p);
//录入一个学生的信息
void record(s_list*p)
{
int i = 0;
student* temp = &(p->head);while (i<p->count){temp = temp->next;i++;}student* st = (student*)malloc(sizeof(student));cout << "请输入学生学号:";cin >> st->num;cout << "请输入学生姓名:";cin >> st->name;cout << "请输入学生年龄:";cin >> st->age;cout << "请输入学生性别:";cin >> st->sex;cout << "请输入学生出生日期:";cin >> st->birthday;cout << "请输入学生地址:";cin >> st->address;cout << "请输入学生电话:";cin >> st->tele_num;cout << "请输入学生邮箱:";cin >> st->E_mail;st->next = temp->next;temp->next = st;p->count++;cout << "该学生的信息为" << endl;cout << "---------------------------------------------" << endl;print_student(st);st->next = NULL;return ;
}
int strcmp_01(char* p1, char* p2) {
// 指针形参判空
if (p1 == NULL || p2 == NULL)
{printf(" 函数 int strcmp_01( char* p1, char* p2 );有形参为空,没有继续执行的必要\n");return -1;
}int i = 0;while (p1[i] != '\0' && p2[i] != '\0')
{if (p1[i] != p2[i]){return 0;}else{i++;}
}if (p1[i] == '\0' && p2[i] == '\0')
{return 1;
}
else
{return 0;
}
}
int aa = 0;
void welcome() {
cout<<"\n±-------------------------------------------+"<< endl;
cout << “| |” << endl;
cout << “| 欢迎使用学生信息管理 |” << endl;
cout << “| |” << endl;
cout << “±-------------------------------------------+” << endl;
cout << "\n管理员初始用户名密码均为admin,您有3次输入机会!" << endl;
char userName[10];
char userPWD[10];
char Name[10] = "admin";
cout << "请输入用户名:" ;
cin >> userName;
cout << "\n" << endl;
cout << "请输入用户密码:";
cin >> userPWD;
if (strcmp_01(userName,Name)==1&&strcmp_01(userPWD,Name)==1)
{cout << "登录成功" << endl;mainmenu();
}
else
{cout << "文件错误,登录失败" << endl;aa++;if (aa>2){cout << "输入错误次数超过3次!" << endl;}else{welcome();}}
return;
}
//浏览全部信息
void displayAll(const s_list lt) {
student* temp = lt.head.next;if (lt.count==0)
{cout << "信息栏里无任何学生信息,请录入!" << endl;
}cout << std::left << setw(8) << "学号" << std::left << setw(8) << "姓名" << std::left << setw(8) << "年龄" << std::left << setw(8) << "性别" << std::left << setw(10) << "出生年月" << std::left << setw(11) << "地址" << std::left << setw(8) << "电话" << std::left << setw(12) << "E-mail" << endl;
cout << "-----------------------------------------------------------------------" << endl;
while (temp!=NULL)
{cout << std::left << setw(8) << temp->num << std::left << setw(8) << temp->name << std::left << setw(8) << temp->age << std::left << setw(8)<< temp->sex << std::left << setw(10) << temp->birthday << std::left << setw(11) << temp->address << std::left << setw(8) << temp->tele_num << std::left << setw(10) << temp->E_mail << endl;temp = temp->next;
}
cout <<"学生总数为:"<< lt.count<<endl;
}
//查询
void query() {
cout << “\n±-------------------------------+” << endl;
cout << “| 按学号查询 请按 1 |” << endl;
cout << “| 按姓名查询 请按 2 |” << endl;
cout << “| 取消 请按 0 |” << endl;
cout << “±-------------------------------+” << endl;
int b = 0;
cout << “请输入您的选择:”;
cin >> b;
switch (b)
{
case 1:
int num_01;
cout << “请输入要查询的学号:”;
cin >> num_01;
query_by_num(list,num_01);
cout << “按任意字符键返回主菜单!”;
char j;
cin >> j;
if (j) {
mainmenu();
}
break;
case 2:
query_by_name(list);
cout << “按任意字符键返回主菜单!”;
cin >> j;
if (j) {
mainmenu();
}
break;
case 0:
//mainmenu();
break;
default:
cout << “您输入的选择有误,请重新输入” << endl;
//query();
break;
}
}
//按学号查询
void query_by_num(const s_list ls,const int num_01) {
student* temp = ls.head.next;
cout << std::left << setw(8) << “学号” << std::left << setw(8) <<
“姓名” << std::left << setw(8) << “年龄” << std::left << setw(8) << “性别” << std::left
<< setw(10) << “出生年月” << std::left << setw(11) << “地址” << std::left << setw(8) << “电话”
<< std::left << setw(12) << “E-mail” << endl;
cout << “-----------------------------------------------------------------------” << endl;
int js = 0;
while (temp != NULL)
{
if (temp->num == num_01)
{
print_student(temp);
}
else {
js++;
}
temp = temp->next;
}
if (js == ls.count) {
cout << “查无此人!” << endl;
}
}
//按姓名查询
void query_by_name(const s_list ls) {
char xm[20];
cout << “请输入您要查询的学生姓名”;
cin >> xm;
student* temp = ls.head.next;
int jishu = 0;
while (temp != NULL)
{
if (strcmp_01(temp->name, xm)==1)
{
print_student(temp);
}
else {
jishu++;
}
temp = temp->next;
}
if (jishu ==ls.count ) {
cout << “查无此人!” << endl;
}
}
//删除学生的信息
void del(s_list* p) {
// 指针形参判空
if (p == NULL)
{
printf(" p == NULL\n");
return;
}
if (p->count == 0)
{cout << "学生信息栏为空" << endl;
}
int num_02 = 0;
cout << "请输入您要删除学生的学号:";
cin >> num_02;
//student* temp =p->head.next;
student* temp = &(p->head);
int jishu = 0;
int abc = 0;int i = 0;
int j = 0;while (j < p->count)
{temp = temp->next;abc++;if (temp->num == num_02){break;}jishu++;j++;}
if (jishu == p->count) {cout << "您输入的学号不存在!";
}
else
{temp = &(p->head);while (i < abc - 1){temp = temp->next;i++;}student* dete = temp->next;temp->next = temp->next->next;free(dete);dete = NULL;p->count--;cout << "删除成功!" << endl;
}
}
//找到这个学生
void change(s_list lt) {
int xuehao;
cout << “请输入您要修改的学生学号:”;
cin >> xuehao;
student* temp = lt.head.next;
cout << std::left << setw(8) << “学号” << std::left << setw(8) <<
“姓名” << std::left << setw(8) << “年龄” << std::left << setw(8) << “性别” << std::left
<< setw(10) << “出生年月” << std::left << setw(11) << “地址” << std::left << setw(8) << “电话”
<< std::left << setw(12) << “E-mail” << endl;
cout << “-----------------------------------------------------------------------” << endl;
int js = 0;
while (temp != NULL)
{
if (temp->num == xuehao)
{
print_student(temp);devise(temp);}else {js++;}temp = temp->next;
}
if (js == lt.count) {cout << "查无此人!" << endl;
}
}
//找到的指定学生的某个信息内容
void devise(struct student* p) {
cout << “±--------------------------------+” << endl;
cout << “| 学号 请按 1 |” << endl;
cout << “| 姓名 请按 2 |” << endl;
cout << “| 年龄 请按 3 |” << endl;
cout << “| 性别 请按 4 |” << endl;
cout << “| 出生年月 请按 5 |” << endl;
cout << “| 地址 请按 6 |” << endl;
cout << “| 电话 请按 7 |” << endl;
cout << “| 邮箱 请按 8 |” << endl;
cout << “±--------------------------------+” << endl;
int b = 0;
cout << “请输入您的选择:”;
cin >> b;
switch (b)
{
case 1:
cout << “请输入您的新学号:”;
int q;
cin >> q;
p->num = q;
cout << “修改成功” << endl;
mainmenu();
break;
case 2:
cout << “请输入您的新姓名:”;
char q1[20];
cin >> q1;
strcpy(p->name, q1);
cout << “修改成功” << endl;
mainmenu();
break;
case 3:
cout << “请输入您的年龄:”;
int q2;
cin >> q2;
p->age = q2;
cout << “修改成功” << endl;
mainmenu();
break;
case 4:
cout << “请输入您的性别:”;
char q3[10];
cin >> q3;
strcpy(p->sex, q3);
cout << “修改成功” << endl;
mainmenu();
break;
case 5:
cout << “请输入您的出生年月日:”;
char q4[30];
cin >> q4;
strcpy(p->birthday, q4);
cout << “修改成功” << endl;
mainmenu();
break;
case 6:
cout << “请输入您的地址:”;
char q5[30];
cin >> q5;
strcpy(p->address, q5);
cout << “修改成功” << endl;
mainmenu();
break;
case 7:
cout << “请输入您的电话:”;
long long int q6;
cin >> q6;
p->tele_num = q6;
cout << “修改成功” << endl;
mainmenu();
break;
case 8:
cout << “请输入您的邮箱:”;
char q7[30];
cin >> q7;
strcpy(p->E_mail, q7);cout << "修改成功" << endl;mainmenu();break;
default:mainmenu();break;
}
}
void print_student(struct student *s) {
cout << std::left << setw(8) << “学号” << std::left << setw(8) <<
“姓名” << std::left << setw(8) << “年龄” << std::left << setw(8) << “性别” << std::left
<< setw(10) << “出生年月” << std::left << setw(11) << “地址” << std::left << setw(8) << “电话”
<< std::left << setw(12) << “E-mail” << endl;
cout << “-----------------------------------------------------------------------” << endl;
cout << std::left << setw(8) << s->num << std::left <<
setw(8) << s->name << std::left << setw(8) << s->age << std::left << setw(8)
<< s->sex << std::left << setw(10) << s->birthday << std::left << setw(11) << s->address
<< std::left << setw(8) << s->tele_num << std::left << setw(10) << s->E_mail << endl;
}
void mainmenu() {
cout << “温馨提示:为确保您的操作得到保存,请按正常顺序退出系统_” << endl;
cout << “\t\t±--------------------------+” << endl;
cout << “\t\t+ 学生信息管理系统 |” << endl;
cout << “\t\t±--------------------------+” << endl;
cout << “\t\t+ [1]----录入学生信息 |” << endl;
cout << “\t\t+ [2]----浏览学生信息 |” << endl;
cout << “\t\t+ [3]----查询学生信息 |” << endl;
cout << “\t\t+ [4]----删除学生信息 |” << endl;
cout << “\t\t+ [5]----修改学生信息 |” << endl;
cout << “\t\t+ [0]----退出系统 |” << endl;
cout << “\t\t+········*·+” << endl;
cout << “\t\t±--------------------------+” << endl;
int a = 0;cout << "请输入您的选择:";cin >> a;switch (a){case 1:record(&list);mainmenu();break;case 2:displayAll(list);cout << "按任意字符键返回主菜单!";char j;cin >> j;if (j) {mainmenu();}break;case 3:query();break;case 4:del(&list);mainmenu();break;case 5:change(list);break;case 0:break;default:cout << "您输入的选项有误,请重新输入!" << endl;mainmenu();break;}
}
int main()
{
welcome();
return 0;
}
// work_01.cpp : 此文件包含 “main” 函数。程序执行将在此处开始并结束。
//
#define _CRT_SECURE_NO_WARNINGS
#include <malloc.h>
#include
#include <stdio.h>
#include <stdlib.h>
#include
#include
using namespace std;
void mainmenu();
void query_by_name();
void print_student(struct student *s);
typedef struct student
{
long int num; //学号
char name[20]; //姓名int age; //年龄char sex[10]; //性别char birthday[20]; //出生日期char address[30]; //地址long long int tele_num; //电话char E_mail[30]; //电子邮箱地址struct student* next; //指向下一个结构体对象的指针
}student;
//创建一个学生链表
typedef struct student_lsit{
student head;
int count;
}s_list;
//声明一个链表
s_list list;
int count = 0;
void query_by_num(const s_list lt, const int num_01);
void query_by_name(const s_list ls);
void del(s_list* p);
void change(s_list lt);
void devise(struct student* p);
//录入一个学生的信息
void record(s_list*p)
{
int i = 0;
student* temp = &(p->head);while (i<p->count){temp = temp->next;i++;}student* st = (student*)malloc(sizeof(student));cout << "请输入学生学号:";cin >> st->num;cout << "请输入学生姓名:";cin >> st->name;cout << "请输入学生年龄:";cin >> st->age;cout << "请输入学生性别:";cin >> st->sex;cout << "请输入学生出生日期:";cin >> st->birthday;cout << "请输入学生地址:";cin >> st->address;cout << "请输入学生电话:";cin >> st->tele_num;cout << "请输入学生邮箱:";cin >> st->E_mail;st->next = temp->next;temp->next = st;p->count++;cout << "该学生的信息为" << endl;cout << "---------------------------------------------" << endl;print_student(st);st->next = NULL;return ;
}
int strcmp_01(char* p1, char* p2) {
// 指针形参判空
if (p1 == NULL || p2 == NULL)
{printf(" 函数 int strcmp_01( char* p1, char* p2 );有形参为空,没有继续执行的必要\n");return -1;
}int i = 0;while (p1[i] != '\0' && p2[i] != '\0')
{if (p1[i] != p2[i]){return 0;}else{i++;}
}if (p1[i] == '\0' && p2[i] == '\0')
{return 1;
}
else
{return 0;
}
}
int aa = 0;
void welcome() {
cout<<"\n±-------------------------------------------+"<< endl;
cout << “| |” << endl;
cout << “| 欢迎使用学生信息管理 |” << endl;
cout << “| |” << endl;
cout << “±-------------------------------------------+” << endl;
cout << "\n管理员初始用户名密码均为admin,您有3次输入机会!" << endl;
char userName[10];
char userPWD[10];
char Name[10] = "admin";
cout << "请输入用户名:" ;
cin >> userName;
cout << "\n" << endl;
cout << "请输入用户密码:";
cin >> userPWD;
if (strcmp_01(userName,Name)==1&&strcmp_01(userPWD,Name)==1)
{cout << "登录成功" << endl;mainmenu();
}
else
{cout << "文件错误,登录失败" << endl;aa++;if (aa>2){cout << "输入错误次数超过3次!" << endl;}else{welcome();}}
return;
}
//浏览全部信息
void displayAll(const s_list lt) {
student* temp = lt.head.next;if (lt.count==0)
{cout << "信息栏里无任何学生信息,请录入!" << endl;
}cout << std::left << setw(8) << "学号" << std::left << setw(8) << "姓名" << std::left << setw(8) << "年龄" << std::left << setw(8) << "性别" << std::left << setw(10) << "出生年月" << std::left << setw(11) << "地址" << std::left << setw(8) << "电话" << std::left << setw(12) << "E-mail" << endl;
cout << "-----------------------------------------------------------------------" << endl;
while (temp!=NULL)
{cout << std::left << setw(8) << temp->num << std::left << setw(8) << temp->name << std::left << setw(8) << temp->age << std::left << setw(8)<< temp->sex << std::left << setw(10) << temp->birthday << std::left << setw(11) << temp->address << std::left << setw(8) << temp->tele_num << std::left << setw(10) << temp->E_mail << endl;temp = temp->next;
}
cout <<"学生总数为:"<< lt.count<<endl;
}
//查询
void query() {
cout << “\n±-------------------------------+” << endl;
cout << “| 按学号查询 请按 1 |” << endl;
cout << “| 按姓名查询 请按 2 |” << endl;
cout << “| 取消 请按 0 |” << endl;
cout << “±-------------------------------+” << endl;
int b = 0;
cout << “请输入您的选择:”;
cin >> b;
switch (b)
{
case 1:
int num_01;
cout << “请输入要查询的学号:”;
cin >> num_01;
query_by_num(list,num_01);
cout << “按任意字符键返回主菜单!”;
char j;
cin >> j;
if (j) {
mainmenu();
}
break;
case 2:
query_by_name(list);
cout << “按任意字符键返回主菜单!”;
cin >> j;
if (j) {
mainmenu();
}
break;
case 0:
//mainmenu();
break;
default:
cout << “您输入的选择有误,请重新输入” << endl;
//query();
break;
}
}
//按学号查询
void query_by_num(const s_list ls,const int num_01) {
student* temp = ls.head.next;
cout << std::left << setw(8) << “学号” << std::left << setw(8) <<
“姓名” << std::left << setw(8) << “年龄” << std::left << setw(8) << “性别” << std::left
<< setw(10) << “出生年月” << std::left << setw(11) << “地址” << std::left << setw(8) << “电话”
<< std::left << setw(12) << “E-mail” << endl;
cout << “-----------------------------------------------------------------------” << endl;
int js = 0;
while (temp != NULL)
{
if (temp->num == num_01)
{
print_student(temp);
}
else {
js++;
}
temp = temp->next;
}
if (js == ls.count) {
cout << “查无此人!” << endl;
}
}
//按姓名查询
void query_by_name(const s_list ls) {
char xm[20];
cout << “请输入您要查询的学生姓名”;
cin >> xm;
student* temp = ls.head.next;
int jishu = 0;
while (temp != NULL)
{
if (strcmp_01(temp->name, xm)==1)
{
print_student(temp);
}
else {
jishu++;
}
temp = temp->next;
}
if (jishu ==ls.count ) {
cout << “查无此人!” << endl;
}
}
//删除学生的信息
void del(s_list* p) {
// 指针形参判空
if (p == NULL)
{
printf(" p == NULL\n");
return;
}
if (p->count == 0)
{cout << "学生信息栏为空" << endl;
}
int num_02 = 0;
cout << "请输入您要删除学生的学号:";
cin >> num_02;
//student* temp =p->head.next;
student* temp = &(p->head);
int jishu = 0;
int abc = 0;int i = 0;
int j = 0;while (j < p->count)
{temp = temp->next;abc++;if (temp->num == num_02){break;}jishu++;j++;}
if (jishu == p->count) {cout << "您输入的学号不存在!";
}
else
{temp = &(p->head);while (i < abc - 1){temp = temp->next;i++;}student* dete = temp->next;temp->next = temp->next->next;free(dete);dete = NULL;p->count--;cout << "删除成功!" << endl;
}
}
//找到这个学生
void change(s_list lt) {
int xuehao;
cout << “请输入您要修改的学生学号:”;
cin >> xuehao;
student* temp = lt.head.next;
cout << std::left << setw(8) << “学号” << std::left << setw(8) <<
“姓名” << std::left << setw(8) << “年龄” << std::left << setw(8) << “性别” << std::left
<< setw(10) << “出生年月” << std::left << setw(11) << “地址” << std::left << setw(8) << “电话”
<< std::left << setw(12) << “E-mail” << endl;
cout << “-----------------------------------------------------------------------” << endl;
int js = 0;
while (temp != NULL)
{
if (temp->num == xuehao)
{
print_student(temp);devise(temp);}else {js++;}temp = temp->next;
}
if (js == lt.count) {cout << "查无此人!" << endl;
}
}
//找到的指定学生的某个信息内容
void devise(struct student* p) {
cout << “±--------------------------------+” << endl;
cout << “| 学号 请按 1 |” << endl;
cout << “| 姓名 请按 2 |” << endl;
cout << “| 年龄 请按 3 |” << endl;
cout << “| 性别 请按 4 |” << endl;
cout << “| 出生年月 请按 5 |” << endl;
cout << “| 地址 请按 6 |” << endl;
cout << “| 电话 请按 7 |” << endl;
cout << “| 邮箱 请按 8 |” << endl;
cout << “±--------------------------------+” << endl;
int b = 0;
cout << “请输入您的选择:”;
cin >> b;
switch (b)
{
case 1:
cout << “请输入您的新学号:”;
int q;
cin >> q;
p->num = q;
cout << “修改成功” << endl;
mainmenu();
break;
case 2:
cout << “请输入您的新姓名:”;
char q1[20];
cin >> q1;
strcpy(p->name, q1);
cout << “修改成功” << endl;
mainmenu();
break;
case 3:
cout << “请输入您的年龄:”;
int q2;
cin >> q2;
p->age = q2;
cout << “修改成功” << endl;
mainmenu();
break;
case 4:
cout << “请输入您的性别:”;
char q3[10];
cin >> q3;
strcpy(p->sex, q3);
cout << “修改成功” << endl;
mainmenu();
break;
case 5:
cout << “请输入您的出生年月日:”;
char q4[30];
cin >> q4;
strcpy(p->birthday, q4);
cout << “修改成功” << endl;
mainmenu();
break;
case 6:
cout << “请输入您的地址:”;
char q5[30];
cin >> q5;
strcpy(p->address, q5);
cout << “修改成功” << endl;
mainmenu();
break;
case 7:
cout << “请输入您的电话:”;
long long int q6;
cin >> q6;
p->tele_num = q6;
cout << “修改成功” << endl;
mainmenu();
break;
case 8:
cout << “请输入您的邮箱:”;
char q7[30];
cin >> q7;
strcpy(p->E_mail, q7);cout << "修改成功" << endl;mainmenu();break;
default:mainmenu();break;
}
}
void print_student(struct student *s) {
cout << std::left << setw(8) << “学号” << std::left << setw(8) <<
“姓名” << std::left << setw(8) << “年龄” << std::left << setw(8) << “性别” << std::left
<< setw(10) << “出生年月” << std::left << setw(11) << “地址” << std::left << setw(8) << “电话”
<< std::left << setw(12) << “E-mail” << endl;
cout << “-----------------------------------------------------------------------” << endl;
cout << std::left << setw(8) << s->num << std::left <<
setw(8) << s->name << std::left << setw(8) << s->age << std::left << setw(8)
<< s->sex << std::left << setw(10) << s->birthday << std::left << setw(11) << s->address
<< std::left << setw(8) << s->tele_num << std::left << setw(10) << s->E_mail << endl;
}
void mainmenu() {
cout << “温馨提示:为确保您的操作得到保存,请按正常顺序退出系统_” << endl;
cout << “\t\t±--------------------------+” << endl;
cout << “\t\t+ 学生信息管理系统 |” << endl;
cout << “\t\t±--------------------------+” << endl;
cout << “\t\t+ [1]----录入学生信息 |” << endl;
cout << “\t\t+ [2]----浏览学生信息 |” << endl;
cout << “\t\t+ [3]----查询学生信息 |” << endl;
cout << “\t\t+ [4]----删除学生信息 |” << endl;
cout << “\t\t+ [5]----修改学生信息 |” << endl;
cout << “\t\t+ [0]----退出系统 |” << endl;
cout << “\t\t+········*·+” << endl;
cout << “\t\t±--------------------------+” << endl;
int a = 0;cout << "请输入您的选择:";cin >> a;switch (a){case 1:record(&list);mainmenu();break;case 2:displayAll(list);cout << "按任意字符键返回主菜单!";char j;cin >> j;if (j) {mainmenu();}break;case 3:query();break;case 4:del(&list);mainmenu();break;case 5:change(list);break;case 0:break;default:cout << "您输入的选项有误,请重新输入!" << endl;mainmenu();break;}
}
int main()
{
welcome();
return 0;
}
学生管理系统(第一写)用C语言写,单链表实现,插入,查询,浏览,修改,删除的功能源码相关推荐
- c语言用链表实现成绩管理系统,C语言基于单链表得学生成绩管理系统
前言 传说中讲课通俗而不庸俗,说话风流而不下流的小编又来了哦,今天的主要内容是:C语言基于单链表得学生成绩管理系统.首先给年夜家总结下为什么你们学习C语言会觉得难,尤其是对单链表这块,主要原因得是因为 ...
- 试写一算法,对单链表进行逆置
NOTICE: 本篇代码是按照源码的书写顺序所写,复制之后可直接运行. 环境: vscode 题目: 试写一算法,对单链表进行逆置 分析: 单链表的逆置需要设置两个指针,第一个进行遍历单链表:第二个进 ...
- 用c语言实现单链表的初始化,建表,查找,求长度,插入,删除等操作,【YTU+2430+C语言习题+链表建立+插入+删除+输(5)...
的打印.判断链表是否为空.计算链表长度.插入节点.删除节点.删除整个链表.(2) 线性表adt顺序存储实现中的创建.查找.插入和删除等基本操作及相关算法,线性表adt链式存储实现中单链表.循环链表和双 ...
- c语言实现可变单链表,c语言实现单链表
c语言实现单链表 c语言实现单链表 定义 创建 销毁 清空 打印 获取长度 查询 删除第pos个结点 在第pos插入结点 定义 首先来看一看单链表的定义(看看百度的) 单链表是一种链式存取的数据结构, ...
- TypeScript算法专题 - blog1.基于TypeScript语言的单链表实现
TypeScript算法专题 - 基于TypeScript语言的单链表实现 李俊才 CSDN:jcLee95 邮箱:291148484@163.com 专题目录:https://blog.csdn.n ...
- C语言实现单链表(有源代码哦)专为小白!!!
首先,第一次在学校里学习数据结构与算法的时候,大家可能会发现抄书上的代码建议无法实现相应的功能(至少小编是这样的,直到放寒假的时候才实现第一个算法).今天教大家手把手实现书上的单链表,希望能对大家数据 ...
- C语言数据结构 单链表的建立、遍历、查找、插入和删除操作
参考文献 本博文为半摘记性质 -- 声明:全文主干部分摘自 [1] 杨智明. 数据结构(C语言版)[M]. 第一版. 北京:北京理工大学出版社, 2016. [2] 严蔚敏, 李冬梅, 吴伟民. 数据 ...
- java语言实现单链表---不含头结点
java语言实现单链表---不含头结点 一.相关概念 1.什么是线性表 2.什么是顺序表 3.什么是链表 4.单链表.双链表.循环单链表.循环双链表 5.头结点和首结点 6.常见的栈和队列与线性表的关 ...
- c语言实现单链表的创建(完整版)
使用c语言实现单链表是考研的重点.但是如何实现却是一个难点.下面是我写的一个简单的创建单链表的代码. #include<stdio.h> #include<stdlib.h> ...
最新文章
- 同步服务老是报错_SQL2005的维护计划做异地备份,采用另一台服务器设置共享文件夹的方式同步。但是一直报错,本地备份可以...
- Spring中 @Autowired注解与@Resource注解的区别
- 二、在应用中升级----网络部分
- 欢乐SSL初二组周六赛【2019.5.11】
- 全网最新Spring Boot2.5.1整合Activiti5.22.0企业实战教程<入门篇>
- 如何扩容LVM逻辑卷
- 网络热词下的民意传播
- 探秘小程序(3):登录
- mid php,mid是什么格式的文件
- Ubuntu虚拟机使用桥接模式设置IP
- 小心利用大家的爱国热情来传播Worm.Win32.AutoRun.dgk的网页
- mDNS原理的简单理解
- The Framework For Love
- 通过商品ID和区域ID及cookie插件获取商品快递费用接口,1688快递物流费用接口,1688商品物流费用API接口获取方案
- CentOS配置DNS方法
- placement new理解
- JAVA Request基本用法
- 辐射76服务器维护,B社重申会为《辐射76》加入Mod支持 请勿担心
- CMake 下载与安装
- org.apache.jasper.JasperException: /WEB-INF/menu-page.jsp (line: 108, column: 1) File [modal-menu-a
热门文章
- 【已解决】笔记本HDMI接口外接显示器调不了分辨率,无信号
- 雅马哈RCX340机器人与相机实例程序说明
- 【编译原理】东北大学2022春季大作业之作业一【40%】编译一个TEX项目【已更新】【命令行编译】【texworks编译】【回答了一些问题】
- URAL 1051 跳跳棋(孔明棋)(加强版) 数学找规律(较弱哦)
- 计算机专业找工作面试专科,计算机专业专科生自我评定
- iOS系统音量控制——MPVolumeView
- 一种通过注册表获取USB虚拟串口端口号的方法
- 【智能算法】粒子群算法(Particle Swarm Optimization)超详细解析+入门代码实例讲解...
- 【AR or VR】浅谈AR和VR的优劣
- 华为 配置STP预防环路