
算法
刘芒果
这个作者很懒,什么都没留下…
展开
-
线性表习题
线性表的定义typedef struct{ int data[MAXSIZE]; //线性表占用的数组空间 int length; //存储线性表的长度 }SeqList; 1. 设计一个高效算法,从顺序表L中删除所有介于x和y之间的所有元素,要求空间复杂度为O(1)void DeleteXY(SeqList *L, int x, int y){ int i=0,k=0;//k为删除元素的个数 while(i<L->length) { if(L->data原创 2020-11-30 20:47:48 · 890 阅读 · 0 评论 -
单链表就地逆置(C语言实现)
算法实现带头结点单链表的就地逆置问题#include<stdio.h>#include<stdlib.h>typedef struct Lnode{ int data; struct Lnode *next;}Lnode,*LinkList; void InitList(LinkList &L){ L=(LinkList)malloc(sizeof(Lnode)); L->next=NULL;}void CreatLinkList(Link原创 2020-11-21 20:24:53 · 6311 阅读 · 1 评论 -
交换排序——冒泡排序与快速排序
冒泡排序基本思想:每次比较两个相邻的元素,如果它们的顺序错误就把它们交换过来。核心代码: for(i=1;i<=n-1;i++) { for(j=1;j<=n-i;j++) { if(a[j]>a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } }快速排序代码...原创 2020-11-20 17:11:56 · 244 阅读 · 0 评论 -
C语言实现单链表
#include<stdio.h>#include<stdlib.h>/*定义链表*/typedef struct Lnode{ int data; struct Lnode *next;}Lnode,*LinkList;/*单链表的初始化*/void InitList(LinkList &L){ L=(LinkList)malloc(sizeof(Lnode)); L->next=NULL;}/*建立单链表——头插法(前插法)*/void原创 2020-10-26 15:52:27 · 506 阅读 · 0 评论 -
C语言实现线性表
#include<stdio.h>#include<stdlib.h>#define MAXSIZE 100 //定义线性表最大长度/*定义顺序表*/typedef struct{ int data[MAXSIZE]; //线性表占用的数组空间 int length; //存储线性表的长度 }SeqList; /*初始化顺序表*/ void InitList(SeqList *L){ L->length=0; //表长为零 }/*建立顺序表原创 2020-10-23 20:01:01 · 5515 阅读 · 1 评论