① c語言程序設計視頻教程
鏈接:
C語言程序設計:
② 數據結構c語言版視頻教程
10《數據結構》【005】
鏈接:https://pan..com/s/1jHDInT5qZOnvIZPjyVHOBQ
若資源有問題歡迎追問~
③ C語言全套教學視頻
C語言程序設計
提取碼:8uar復制這段內容後打開網路網盤手機APP,操作更方便哦!若資源有問題歡迎追問~
④ 數據結構(C語言版)的視頻在哪裡下載的
BT下載地址 http://bt2.fkee.com/search.aspx?q=%CA%FD%BE%DD%BD%E1%B9%B9%A3%A8C%D3%EF%D1%D4%B0%E6%A3%A9+&p=Seed&b=0
電驢下載地址 http://lib.verycd.com/2004/09/30/0000022031.html
⑤ 【100分】數據結構——使用C語言(線性表)
//c++的頭文件,我是用c++編寫的,有一些該成了C但是有些輸入輸出沒有改
//希望樓主不要建議哦,費了很久的時間寫的啊!
#include<iostream>//c++的頭文件
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#include<math.h>
#define error 0
#define OVERFLOW 1
#define OK 1
using namespace std;//c++的一個指令
typedef struct
{
int *elem; //存儲空間基址
int length; //當前長度
int listsize;//當前分配的存儲容量
// (以sizeof(ElemType)為單位)
//int *next;
}sqlist;
void initList(sqlist &La)
{//構造一個空線性表L
La.elem=(int *) malloc(100 *sizeof(int));//分配空間
if (!La.elem) exit(-2);//未分配則 跳出;
La.length=0;
La.listsize= 100 ;
}
int Listinsert_sq(sqlist &L,int i,int e) // listinsert_sq;插入一個元素
{int *newbase;int *p,*q;
if (i<1 || i>L.length+1) return error;
if (L.length>=L.listsize)//空間不足追加
{newbase=(int*) realloc(L.elem,(L.listsize+10) *sizeof(int));
if (!newbase)
exit(-2);
L.elem=newbase; L.listsize+=10 ;
return 0;
}
q=&(L.elem[i-1]);//指針指向確定插入的位子
for(p=&(L.elem[L.length-1]);p>=q;--p)
*(p+1)=*p;//指針後移
*q=e; //實現元素的插入
++L.length;
return 0;
}
int ListDelete_sq(sqlist &L,int i)//刪除i位子的元素
{int *p,*q;
if((i<1)||(i>L.length)) return 0;
p=&(L.elem[i-1]);
//e=*p;
cout<<"被刪除的值是:"<<*p<<endl;
for(q=&(L.elem[L.length-1]);p<q;p++)
*p =*(p+1);//指針前移,覆蓋前面的存儲的數據
--L.length;
return 1;
}
int Getelem(sqlist &L)//輸入表的數據
{ int n;
cout<<"輸入數列的個數:"<<endl;
cin>>n;
printf("按大小順序輸入n個數:");//cout<<"按大小順序輸入n個數:";
if(n<0||n>L.listsize ) return 0;
for(int i=0;i<n;i++)//循環輸入元素
{ cin>>L.elem [i];
L.length ++;//表長度
}
cout<<"這數列的長度:"<<L.length <<endl;
return 1;
}
int Poplist(sqlist &L)//輸出函數
{
for(int j=0;j<L.length ;j++)
cout<<L.elem[j]<<" ";
printf("\n");//cout<<endl;
return 0;
}
void ListMerge(sqlist La,sqlist Lb, sqlist &Lc)//合並函數,
{ int *pa,*pb,*pa_list ,*pb_list,*pc;
pa=La.elem;pb=Lb.elem;//用pa和pb指向表頭
Lc.length=La.length+Lb.length;
Lc.listsize=Lc.length;
Lc.elem=(int *)malloc(Lc.listsize*sizeof(int ));//合理分配Lc的空間
if(!Lc.elem) exit(-2);
pa_list=&(La.elem[La.length-1]);pb_list=&(Lb.elem[Lb.length-1]);//用pa-list和pb_list指向表未
pc=Lc.elem;
while(pa<=pa_list&&pb<=pb_list)//合並演算法
{ if(*pa>=*pb){ *pc++=*pb++;*pc++=*pa++;}
//if(*pa=*pb){ *pc++=*pa++;*pc++=*pb++; }
else {*pc++=*pa++;*pc++=*pb++;}
}
while(pa<=pa_list) *pc++=*pa++;//插入剩餘的元素;
while(pb<=pb_list) *pc++=*pb++;
}
int main()
{ sqlist La,Lb,Lc;int i,e;
initList(La);
Getelem(La);
initList(Lb);
Getelem(Lb);
ListMerge(La,Lb,Lc);
Poplist(Lc);
printf("input munber 要刪除的位子i \n:");
scanf("%d",&i);// cin>>i;
ListDelete_sq(La,i);
Poplist(La);//我這里是用表La做例子。也可用Lb。。。
printf("輸出要插入的位子和元素:\n");
scanf("%d%d",&i,&e);//cin>>i>>e;
Listinsert_sq(Lb,i,e);
Poplist(Lb);//我這里是用表Lb做例子。也可用La。。。
return 0;
}
終於全搞定了,還有些不足,希望對樓主有用!
⑥ 數據結構 線性表 用c語言
#define MAXSIZE 100 //表中元素的最大個數
typedef int ElemType;//元素類型
typedef struct list{
ElemType elem[MAXSIZE];//靜態線性表
int length; //表的實際長度
}SqList;//順序表的類型名