日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

解讀鏈表的順序表示和實(shí)現(xiàn)_.Net教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:淺談ASP.NET中顯示Linq To SQL輸出的SQL語(yǔ)句
最近在使用Linq To SQL的時(shí)候,為了了解不同Linq語(yǔ)句對(duì)性能造成的不同影響,需要獲得Linq To SQL生成的SQL語(yǔ)句。 如果是在桌面程序中,只需要 _context.Log = Console.Out; 即可在控制臺(tái)輸出SQL語(yǔ)句。可是在ASP.NET中又該怎么辦呢? 這時(shí)我想起了StringWriter

/*List.h*/
#ifndef _LIST_H
#define _LIST_H
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
template <class T>
class List
{
public:
 List();     //構(gòu)造函數(shù):構(gòu)造一個(gè)空的線性表
 //~List(); //析構(gòu)函數(shù)
 void DestroyList();  //銷(xiāo)毀線性表
 void ClearList();    //將表重置為空表
 bool ListEmpty();    //若為空表存在返回True
 int ListLength();   //返回表中數(shù)據(jù)元素個(gè)數(shù)
 T GetElem(int i,T &e);     //用e返回表中第i個(gè)元素的值
 int LocateElem(T e);  //返回表中第一個(gè)e元素的位置
    T PriorElem(T cur_e,T &pre_e);        //返回前驅(qū)
 T NextElem(T cur_e,T &next_e);        //返回后繼
 void ListInsert(int i,T e);      //在第i個(gè)元素插入值e
 T ListDelete(int i,T &e);        //刪除第i個(gè)元素的值并返回
 void ListTraverse(void visit());  //對(duì)每個(gè)元素進(jìn)行visit()

private:
 T *elem;
 int length;
 int listsize;
};

//構(gòu)造一個(gè)空的線性表
template <class T>
List<T>::List()  
{
 elem=(T *)malloc(LIST_INIT_SIZE*sizeof(T));  /*分配空間*/
 if(!elem)  
  throw   "Allocation   failed";
 else
 {
  length=0;
     listsize=LIST_INIT_SIZE;
 }
}
//銷(xiāo)毀線性表
template <class T>
void List<T>::DestroyList()      
{
 free(elem);
}
//將表重置為空表
template <class T>
void List<T>::ClearList()       
{
 length=0;
}
 //若為空表存在返回True
template <class T>
bool List<T>::ListEmpty()     
{
 return length ? true :false;
}
//返回表中數(shù)據(jù)元素個(gè)數(shù)
template <class T>
int List<T>::ListLength()       
{
 return length;
}
//用e返回表中第i個(gè)元素的值
template <class T>
T List<T>::GetElem(int i,T &e)         
{
 if(i<1||i>length)
  throw "Index out of bounds";
 else
     e=elem[i-1];
 return e;
}
 //返回表中第一個(gè)e元素的位置
template <class T>                        
int List<T>:: LocateElem(T e)
{
 for(int i=0;i<length;i++)
 {
 if(elem[i]==e)
  return i+1;
 }
 cout<<"表中不存在值為"<<e<<"的元素!"<<endl;
 return 0;
 
 
}
//返回前驅(qū)
template <class T>
T List<T>::PriorElem(T cur_e,T &pre_e)       
{
 int i=LocateElem(cur_e);
 if(i>1)
 {
 pre_e=elem[i-2];
 return pre_e;
 }
 else
  return NULL;
}
//返回后繼
template <class T>
T List<T>::NextElem(T cur_e,T &next_e)       
{
 int i=LocateElem(cur_e);
 if(i>0&&i<length)
 {
 next_e=elem[i];
 return next_e;
 }
 else
  return NULL;
}
//在第i個(gè)元素插入值e
template <class T>
void List<T>::ListInsert(int i,T e)
{
 if(i<0||i>length+1) cout<<"error!";
 else if(i==length)
 {
  elem = (T *)realloc(elem,(length+LISTINCREMENT)*sizeof(T));
 }
 for(int j=length;j>=i;j--) elem[length]=elem[length-1];
 elem[i-1]=e;
 length++;
}
//刪除第i個(gè)元素的值并返回
template <class T>
T List<T>::ListDelete(int i,T &e)
{
 if(length==0) return NULL;
 if(i<0||i>length) return NULL;
 e=elem[i-1];
 for(int j=i;j<length;j++) elem[j-1]=elem[j];
 length--;
 return e;
}
//對(duì)每個(gè)元素進(jìn)行visit()
template <class T>
void List<T>::ListTraverse(void visit())
{
 for(i=0;i<length;i++) visit(elem[i]);
}

#endif

 

//程序測(cè)試文件,http://blog.ourys.com/原創(chuàng),做人好厚道,轉(zhuǎn)載請(qǐng)表明出去

#include<iostream>
#include "List.h"
using namespace std;
int main()
{

 List<int> list;
 for(int i=0;i<10;i++) list.ListInsert(i+1,i*(1+i));
 int a[10],b[10];
 for(int i=0;i<list.ListLength();i++) cout<<list.GetElem(1+i,a[i])<<endl;

 cout<<list.ListLength()<<endl;
 cout<<list.LocateElem(90)<<endl;
 list.NextElem(0,b[0]);
 cout<<b[0]<<endl;
 cout<<list.ListDelete(4,b[1])<<endl;
 for(int i=0;i<list.ListLength();i++) cout<<list.GetElem(1+i,a[i])<<endl;

 
     return 0;
}

分享:怎樣在ASP.net中做網(wǎng)站訪問(wèn)量統(tǒng)計(jì)
一位QQ好友問(wèn)我個(gè)人網(wǎng)站訪問(wèn)量是如何統(tǒng)計(jì)的,由于本人初學(xué)做網(wǎng)站,水平有限,所介紹的方法可能是笨方法,但在我網(wǎng)站上能夠湊合著使用,希望大家多多指教。 一、建立一個(gè)數(shù)據(jù)表IPStat用于存放用戶信息 我在IPStat表中存放的用戶信息只包括登錄用戶的IP(IP_Ad

來(lái)源:模板無(wú)憂//所屬分類(lèi):.Net教程/更新時(shí)間:2009-07-16
相關(guān).Net教程